2016-04-25 5 views
0

Ich versuche plot Aktienpreis (Zeitreihe) für PNB (geschickte Index) über einen Zeitraum von 1 Jahr, um die Muster zu studieren. Anbei sind die Daten zum Aktienkurs im Format CSV.
Aber wenn ich versuche, die Klasse dieser Daten aus CSV Datei zoo (xts) package verwenden,Umwandlung der Datenklasse von "Faktor" in "TS" Klasse

Hinweis zu konvertieren: XTS ist Teilmenge von Zoo-Paket.

d<-xts(f$Close.Price,order.by=as.Date(f$Date),format="%m/%d/%y")

Fehler in charToDate (x):
character string is not in a standard unambiguous format where f is the dataframe which is the reading the .csv file

Ich habe auch mit Datumsvariablen mit dem folgenden Befehl versucht, und gibt mir unter Fehler,

s < -as .Datum (f $ Datum, Format = "% d /% m /% Y") s [1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [29] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [57] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [85] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [113] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [141] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [169] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [197] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [225] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [253] NA

Ich bekomme NA für die Daten. Mit anderen Worten, ich bin nicht in der Lage, die Klasse von f $ Date in "ts" -Klasse zu konvertieren. Bitte helfen Sie mir, die Daten in das richtige Format zu konvertieren.

Antwort

0

Versuchen Sie es in zwei Schritten zu tun, mit lubridate:

library(lubridate) 
df <- read.csv("stockdata.csv", header = T, stringsAsFactors = F) 
df$timedata <- mdy(df$timedata) 

mdy() wird ein 'Vektor vermuteten dates'. Sie können die Anordnung der Daten mit ymd(), mdy(), dmy() und mehr angeben. Weitere Informationen finden Sie in der Dokumentation für lubridate.

Hoffe, das hilft.

+0

Ich habe den obigen Befehl versucht und es funktioniert. Aber es gibt ein Problem, es funktioniert nur für dmy() und Daten sind in umgekehrter Reihenfolge. Bitte beachten Sie die folgende Ausgabe> x <-mdy (f $ Date) Warnmeldung: Alle Formate konnten nicht analysiert werden. Keine Formate gefunden. > x <-dmy (f $ Datum) > x [1] "2015-02-20" 2015-02-23 "2015-02-24" "2015-02-25" "2015-02 -26 "2015-02-27" [7] "2015-02-28" 2015-03-02 "2015-03-03" "2015-03-04" "2015-03-05" " 2015-03-09 " –

+0

Das sieht so aus, als wären die Daten in' f $ Date' nicht einheitlich. In diesem Fall würde ich diese Zeilen isolieren, ihr Format ändern und sie wieder an den entsprechenden Index anschließen. –

+0

Vielen Dank, Raphael für Ihre schnelle Antwort und Hilfe. Ich weiß Ihre Unterstützung zu schätzen.Gibt es eine Möglichkeit, ich kann hier eine .csv-Datei hochladen und Sie können in diese Datei schauen. –

Verwandte Themen