2017-03-18 6 views
-3

ich in meinen Daten als Zeichen zu lesen, etwa so:Konvertieren von Faktor bisher in R

gc <- read.csv("C:/Users/name/Documents/folder 1/folder 2/folder 3/gc_data1.csv", header = TRUE, stringsAsFactors=FALSE) 

Ich kann gc$date überprüfen, ob die Daten alle sind und gut aussehen, als Zeichen. Nun stellt sich das Problem, wenn ich versuche, sie zu Daten zu konvertieren:

gc$date <- as.Date(gc$date, format="%d/%m/%Y") 

Ich versuche, die „as.Date“ Funktion zu verwenden und einige von ihnen werden „NA“. Die Konsolenzeilen [1-56] und [381-446] werden korrekt konvertiert (Datum als JJJJ-MM-TT: 2016-12-09 bzw. 2016-07-11) und der Rest zeigt NA.

Was passiert hier und wie kann ich alle Daten von Zeichen zu Daten konvertieren?

Daten sind von einem Excel-Sheet als csv gespeichert, sehen wie folgt aus (das Datum und die Handlung ändern):

| Grundstück | Datum |
| ------ | -------- |
| Mi13 | 19.09.2016 |
| Mi23 | 19.09.2016 |
| So14 | 26.10.2016 |
| Mi12 | 21.11.2016 |

+0

Bitte senden Sie ein Beispiel Ihrer Daten. – RoyalTS

+0

Wir können Ihre Daten nicht sehen, daher ist es schwierig, Ihnen zu helfen. – www

+0

Okay! Ich habe einen kleinen Ausschnitt meiner Daten grob hinzugefügt, sollte ich sonst noch meine Daten teilen? – Thetreebuddy

Antwort

0

Zuerst Ihre Daten:

R> dt <- as.factor(c("9/19/2016", "9/19/2016", "10/26/2016", "11/21/2016")) 
R> dt 
[1] 9/19/2016 9/19/2016 10/26/2016 11/21/2016 
Levels: 10/26/2016 11/21/2016 9/19/2016 
R> 

Zweitens mit anydate() Funktion aus dem anytime Paket - das kann unter anderem auf Faktoren direkt arbeiten:

R> library(anytime) 
R> anydate(dt) 
[1] "2016-09-19" "2016-09-19" "2016-10-26" "2016-11-21" 
R> 
0

Ihre Daten sind in Monat/Tag/Jahr Format, aber Sie verwenden Tag/Monat/Jahr für die Formatzeichenfolge. Wenn Sie beheben, dass es funktioniert:

x <- as.factor(c("9/19/2016", "9/19/2016", "10/26/2016", "11/21/2016")) 

as.Date(x, format = "%m/%d/%Y") 
## [1] "2016-09-19" "2016-09-19" "2016-10-26" "2016-11-21"