2017-08-08 3 views
1

Ich würde gerne dygraph mit einem data.frame erstellen ich aus CSV-Datei importieren. Ich vermute, dass meine Datumsspalte falsch formatiert ist. Meine Datumsspalte ist ursprünglich im Format %m/%d/%y.Mein data.frame ist nicht lesbar mit dygraph

Falls zutreffend, Spalte 1 ist Klasse (Faktor), Spalte 2 und 3 sind Klasse (Integer). Hier ist Kopf (mydata)

Date  term1   term2 
1 7/1/16 2304    0 
2 7/2/16 2304    0 
3 7/3/16 1628    0 
4 7/4/16 1230    0 
5 7/5/16 1216    5 
6 7/6/16 2056    0 

Hier ist der Befehl dygraph:

library(tidyverse) 
library(dygraphs) 
dygraph(mydata, main = "mydata") %>% 
    dyRangeSelector() 

I Fehler empfangen: Nicht unterstützte Typ Argument übergeben 'Daten'.

I umgewandelt mydata $ Date POSIXct dann wie folgt aus:

mydata$DateTime=as.POSIXct(paste(mydata$Date, mydata$Time), format="%Y%m%d %H%M%S") 

ich das oben erwartet, das Problem zu beheben, aber immer noch denselben Fehler, den ich erhalten. Wenn ich (mydata) sehe, sehe ich das:

Date term1   term2 DateTime 
1 <NA> 2304    0  <NA> 
2 <NA> 2304    0  <NA> 
3 <NA> 1628    0  <NA> 
4 <NA> 1230    0  <NA> 
5 <NA> 1216    5  <NA> 
6 <NA> 2056    0  <NA> 

Klar, dies verschlimmerte nur das Problem.

konnte ich dygraph auf importierte Bestandsdaten verwenden, und basierend auf dem Kopf (meine Bestandsdaten) der richtige Kopf (mydata) würde wie folgt aussehen:

& für jede Zeit
  Date    Open High Low Close Volume 
2016-02-03 2016-02-02 18:00:00 18.00 18.88 16.000 18.20 4157398 
2016-02-04 2016-02-03 18:00:00 18.26 19.42 17.570 18.50 469900 
2016-02-05 2016-02-04 18:00:00 18.84 18.88 17.520 17.60 219900 
2016-02-08 2016-02-07 18:00:00 17.52 18.00 15.720 15.85 372100 
2016-02-09 2016-02-08 18:00:00 15.50 15.50 12.748 12.81 744100 
2016-02-10 2016-02-09 18:00:00 13.01 14.00 12.790 13.09 260800 

Vielen Dank im Voraus Einblick. -M

+0

hallo Sie können 'verwenden mydata $ Datetime <- as.POSIXct (as.Date (mydata $ Datum- und format = "% m /% d /% y"))' –

+0

@s. brunel Ich konnte deinen Befehl nicht zur Arbeit bringen, aber er könnte aus meinen reproduzierbaren Daten/Beispielen resultieren - er könnte meine wirklichen Daten nicht genau wiedergeben. Ich habe jedoch eine Lösung gefunden, die ich unten gepostet habe. Vielen Dank. – Madisonel

Antwort

1
library(zoo) 
library(highcharter) 
library(xts) 

Date=mydata6$Date=as.Date(as.character(mydata6$Date,"%Y-%m-%d")) 
Open=mydata6$Open=as.numeric(na.locf(mydata6$Open)) 
High=mydata6$High=as.numeric(na.locf(mydata6$High)) 
Z=cbind(Open, High) 
newdata=xts(Z,mydata$Date) 
dygraph(newdata, main = "Stock") %>% 
    dyRangeSelector() 
Verwandte Themen