2016-05-05 14 views
1

Meine Datumsvariable gibt eine "NA" zurück, wenn ich den as.Date() -Befehl verwende.as.Date-Befehl in R gibt NA zurück

Ich habe praktisch alle verschiedene Weise versucht, die

(a) unter Angabe der Herkunft Argument enthalten; (b) Einstellen des locale (c) die ursprüngliche Variable in Zeichen umzuwandeln, bevor in der CSV-Datei (read.csv("<file name>.csv", stringsAsFactors=FALSE) (d) und erklärt das Format, in dem Argument as.Date (e) die Umwandlung der ursprünglichen Variablen in numerische

Lesen

ich eine CSV-Datei in R. die Struktur der ursprünglichen variablen zu lesen ist:

$ Date.Sold    : Factor w/ 30 levels "","01/10/2015",..: 1 1 1 1 1 

ich versucht haben, das $Date.Sold Feld in eine Datumsvariablen zu konvertieren, so dass ich schließlich das Jahr extrahieren davon. Der Befehl, den ich verwende ist:

SP$Date.Sold = as.Date("SP$Date.Sold",format="%Y/%m/%d", origin="1899-12-30") 

Hilfe !!

Antwort

2

Versuchen Sie folgendes:

SP$Date.Sold = as.Date(SP$Date.Sold,format="%d/%m/%Y") 

aber wenn Sie nur das Jahr extrahieren möchten, können Sie folgendes tun:

SP$Date.Sold = substr(SP$Date.Sold,7,11) 
+1

wow es funktioniert! Vielen Dank :) Ich bin sehr neu in R. Ich frage mich nur, warum Format = "% Y /% m /% d" kann nicht funktionieren? R erfordert, dass das Datum in dieser Reihenfolge formatiert wird: ? – hagewhy

+0

@hagewhy Sie haben die Funktion 'as.Date()' auf eine Zeichenfolge angewendet (Sie haben 'SP $ Date.Sold' in "" eingeschlossen) und nicht auf die Spalte selbst. Außerdem muss das Datumsformat dem tatsächlichen Format Ihrer Spalte entsprechen. Wenn meine Antwort hilfreich war, markieren Sie sie bitte als akzeptiert. – maRtin

+0

danke das hat geholfen! :) – hagewhy