2017-03-05 5 views
0

Hier ist meine erste Frage. Here is the graph. Why my graph does not show numbers on each lines and how can I change left side axis to display numbers rather than exponential signR - dygraphs mit DT und glänzend

Darüber hinaus habe ich einige Fragen über DT, dygraphs und glänzend.
1. Ich habe meine csv-Daten bereits in R gelesen und führe einfach die dygraphs als angehängtes Bild aus. Wenn ich jedoch möchte, dass mein Bild einige Zeilen enthält, wenn meine Maus darauf bleibt, wie kann ich das tun? Gelöst
2. Außerdem möchte ich die y-Achse so ändern, dass Zahlen anstelle von Exponentialzeichen angezeigt werden. Gelöst
3. Ich habe eine Idee über die Verwendung glänzend, um meine Excel-Daten anzuzeigen. So verwende ich DT Paket mit Datentabelle Funktion. Außerdem, wie kann ich DT und dygraphs in glänzend kombinieren. Ich meine, wenn ich auf die Datentabelle klicke und einige Zeilen oder Spalten auswähle, wird das dynamische Liniendiagramm angezeigt. Vielleicht gibt es andere nützliche und praktische Pakete?
4. Wo kann ich etwas Referenz über glänzende Kombination mit DT lernen.

nach meiner test.csv Dateneingabe in R. ist hier

year month company  wp wn  ep en  pa pan npa npan 
1 2015  1  Ch 6497985 1 1471586 2 4833118 3 0 0 
2 2015  1  SK  350 1  0 0  0 0 0 0 
3 2015  2  Ca  0 0 159703 2 36131 5 0 0 
4 2015  2  Ch 88289 1 11227345 3 4305786 2 0 0 
5 2015  2  Fu  0 0 794601 1  0 0 0 0 
6 2015  2  Zu  0 0 70818 1 218310 9 0 0 
7 2015  3  Ca  0 0 93577 1  9586 3 0 0 
8 2015  3  Ch  0 0 11114302 3 1149480 4 0 0 
9 2015  3  Fu  0 0 847562 1  0 0 0 0 
10 2015  3  Zu  0 0 229086 2  0 1 0 0 
11 2015  4  Ca  0 0 59999 1  9375 3 0 0 
12 2015  4  Ch  0 0 9927702 3 16706470 8 0 0 
13 2015  4  Fu  0 0 1000049 1 84655 2 0 0 
14 2015  4  Zu  0 0 173894 1 74300 2 0 0 

auch ist, Rohdaten

year,month,company,wp,wn,ep,en,pa,pan,npa,npan 
2015,1,Ch,6497985,1,1471586,2,4833118,3,0,0 
2015,1,SK,350,1,0,0,0,0,0,0 
2015,2,Ca,0,0,159703,2,36131,5,0,0 
2015,2,Ch,88289,1,11227345,3,4305786,2,0,0 
2015,2,Fu,0,0,794601,1,0,0,0,0 
2015,2,Zu,0,0,70818,1,218310,9,0,0 
2015,3,Ca,0,0,93577,1,9586,3,0,0 
2015,3,Ch,0,0,11114302,3,1149480,4,0,0 
2015,3,Fu,0,0,847562,1,0,0,0,0 
2015,3,Zu,0,0,229086,2,0,1,0,0 
2015,4,Ca,0,0,59999,1,9375,3,0,0 
2015,4,Ch,0,0,9927702,3,16706470,8,0,0 
2015,4,Fu,0,0,1000049,1,84655,2,0,0 
2015,4,Zu,0,0,173894,1,74300,2,0,0 

Ich möchte (test $ ep) die Handlung anzuzeigen geordnet nach Jahr und Monat (Xaxis), und die Handlung enthält alle Unternehmen. Gelöst vielleicht haben andere Benutzer ähnliche Frage in der Zukunft. Ich poste meinen Weg im Folgenden.

Test $ year < - as.Date (Test $ year)
time_series < - xts (test $ ep, order.by = test $ year)
dygraph (time_series, Gruppe = test $ company)

Die Handlung zeigte jedoch nichts.

Meine Lösung Weg:

Test $ year < - as.yearmon (Test $ year „% m% Y)
testre < - dcast (Test, Jahr ~ Unternehmen, value.var = "ep")
testre [is.na (testre)] <-0
test_xts < - xts (testre [- 1], order.by = testre $ year)
dygraph (test_xts)

sehr zu schätzen wissen.
danke für diese Plattform, damit ich Fragen stellen und viele Dinge von anderen netten Benutzern lernen kann.

+0

Können Sie ein [reproduzierbares Beispiel] (http://stackoverflow.com/help/mcve) bereitstellen? – jsb

+0

@ Samuel Ok. Ich habe meine Frage bearbeitet. Bitte hilf mir. sehr schätzen. –

Antwort

0

Hier ist etwas, um Ihnen zu helfen gestartet. Unter der Annahme, test ist Ihr Datenrahmen, sollten Sie zuerst (während Sie wie bisher) von Long nach Wide konvertieren. Sobald Ihre glänzende App ausgeführt wird, wählen Sie mehrere Zeilen in Ihrer Tabelle DT aus.

library(dygraphs) 
library(xts) 
library(reshape2) 
library(dplyr) 
library(zoo) 
library(shiny) 

ui = fluidPage(

     DT::dataTableOutput("x6"), 
    tags$br(), 
    tags$br(), 
     dygraphOutput("dygraph") 
) 


server = function(input, output) { 

    output$x6 <- DT::renderDataTable(DT::datatable({ 

    test 

    })) 


    output$dygraph <- renderDygraph({ 
    test_select <- test %>% select(year, month, company, ep) 
    test_select <- test_select[c(input$x6_rows_selected), ] 

    test_select_wide <- dcast(test_select, year + month ~ company, value.var="ep") 

    test_select_wide$Date <- as.yearmon(paste(test_select_wide$year, test_select_wide$month, sep = "-")) 
    test_select_wide$Date <- as.Date(test_select_wide$Date) 

    test_select_wide$year <- NULL 
    test_select_wide$month <- NULL 
    #test_select_wide <- test_select_wide[,c(6,1,2,3,4,5)] 

    test_select_wide_xts <- xts(test_select_wide[,-ncol(test_select_wide)], order.by=test_select_wide[,ncol(test_select_wide)]) 

    dygraph(test_select_wide_xts) 
    }) 


} 

shinyApp(ui=ui, server=server) 
+0

danke. jedoch habe ich einige Probleme. Warnung: Fehler in <-: dims [Produkt 1] nicht die Länge des Objekt entspricht [0] Stapelüberwachung (innerste zuerst): 80: Abgegebene 79: dcast 78: func [C: \ Benutzer \ Peche \ Desktop/server.R # 18] 77: origRenderFunc 76: Ausgabe $ dygraph 1: runApp –

+0

@Peter, ich verstehe, was du meinst. Ich habe eine kleine Änderung an meiner Antwort vorgenommen, aber diese (Warn-) Fehler sind normal wegen der Zeile: test_select_wide <- dcast (test_select, Jahr + Monat ~ Firma, Wert.var = "ep") und auch weil es keine gibt Punkte, wenn Sie zunächst bitten, die Grafik zu zeichnen – MLavoie