2017-05-15 1 views
0

beheben Ich habe eine .csv-Datei in R importiert. Die Dateien hat mehrere Spalten (ich vereinfachte auf 4), und zwei dieser Spalten - assigned und completed - sollte sein Daten jedoch, sie kommen als "Charakter". Ich brauche sie als Daten zu lesen.Datum als Zeichen, muss in R

Ich habe mehrere Stunden damit verbracht, verschiedene Dinge zu suchen und auszuprobieren, kann aber keine Lösung finden. Dies ist, was die Daten wie folgt aussieht (ersten 3 Zeilen, ich habe 5K Zeilen insgesamt):

 id assigned completed score 
1:  54 11/10/16 11/10/16  0 
2:  54 11/21/16 11/21/16  7 
3:  54 1/26/17 1/26/17 11 


> summary(data_subset) 
     id  assigned   completed   
Min. : 54 Length:5991  Length:5991  
1st Qu.: 1375 Class :character Class :character 
Median : 1910 Mode :character Mode :character 
Mean : 2145           
3rd Qu.: 2199           
Max. :10410           

    score  
Min. : 0.00 
1st Qu.: 4.00 
Median : 7.00 
Mean : 8.33 
3rd Qu.:12.00 
Max. :27.00 
NA's :1 

Ich versuchte lubridate auf der assigned Spalte aber es überschrieben alle Werte NA.

library(lubridate) 
data_subset$assigned <- mdy(data_subset$assigned) 


     id assigned completed score 
1:  54  <NA> 11/10/16  0 
2:  54  <NA> 11/21/16  7 
3:  54  <NA> 1/26/17 11 

ich nach einem Weg suchen, um assigned und completed als Daten gelesen werden - ob es sich bei der CSV-Import geschieht, oder durch Manipulation Daten, nachdem sie bereits in R. ist

+0

Ich kann das nicht replizieren - 'data_subset $ zugewiesen <- mdy (data_subset $ zugewiesen)' funktioniert gut. – thelatemail

+2

Reproduzierbarer Code mit 'mdy' funktioniert:' data_subset <- data.frame (id = c (54L, 54L, 54L), zugewiesen = c ("11/10/16", "11/21/16", " 1/26/17 "), abgeschlossen = c (" 11/10/16 "," 11/21/16 ", " 1/26/17 "), stringsAsFactors = FALSE); data_subset $ assigned <- lubridate :: mdy (data_subset $ assigned); data_subset' – thelatemail

+1

Wenn Sie RStudio verwenden, versuchen Sie den "Import Dataset" -Link im Bereich Umgebung. Sie können die Daten in der Vorschau anzeigen, den Spaltentyp ändern (indem Sie in den Spaltentitel der Voransicht klicken), Fehler beheben und Code zur späteren Wiederverwendung generieren. – neilfws

Antwort

2

Manipulation nach Import Ansatz:

data_subset$assigned <- as.Date(data_subset$assigned,'%m/%d/%y') # This uses base R 
data_subset$completed <- as.Date(data_subset$completed,'%m/%d/%y') # The '%/m/%d/%y' specifies the format of your date 

Nebenbei bemerkt: ich habe auf einem ähnlichen Problem zu arbeiten und lubridate hat in letzter Zeit seltsame Dinge getan. Ich vermute, der Grund dürfte teilweise auf die Version von R zurückzuführen sein. lubridate scheint auf R 3.3.3 besser zu funktionieren als auf r-microsoft 3.3.3. Ich hatte bestimmte Funktionen von dem Paket, das auf der r-mircosoft Verteilung fehlt. Vielleicht fehlt eine grundlegende Funktion, die dazu führt, dass alles an NA geht. Auch dies ist nur Spekulation, aber vielleicht führt es zu einer Antwort.