2016-04-11 5 views
0

Ich bin neu in R, und habe mein erstes Skript geschrieben, um einige Daten von Wandlern zu behandeln. Das Skript, das ich geschrieben habe, ist ziemlich grob, aber es funktioniert. Jetzt versuche ich es aufzuräumen.R lässt mich nicht definieren Vektor in Datenrahmen in der Liste als POSIXct

Das Skript, das ich schrieb, macht einen Datenrahmen für jeden Wandler, den ich habe. Ich versuche, dieses Setup durch eine Liste von Datenrahmen zu ersetzen, so dass ich Vorgänge einfacher wiederholen kann. Derzeit führt mein Skript jeden "Befehl" oder "Berechnung" für jeden Wandler (und damit Datenrahmen) getrennt aus .... es ist viel redundanter Code.

Hier ist, wo ich bin stecken ... mein Skript wie folgt auszuführen:

baro_data_temp <- read.csv(paste(file_subdir,"Barometr",file_append,file_type, sep=""), 
       header=FALSE, check.names=FALSE) 

colnames(baro_data_temp) <- c('date', 'measurement') 

baro_data_temp$date <-as.POSIXct(baro_data_temp$date,"%Y-%m-%d %H:%M:%S") 

Diese Aktionen für jeden Wandler durchgeführt werden würde (und damit jede CSV-Datei). Definieren der Datumsspalten als POSIXct funktioniert, aber ich bekomme die Fehler über keine Zeitzone. Das stört mich nicht; Die Zeitzone ist irrelevant.

Ich habe diesen Teil meines Skript wie folgt neu geschrieben:

data_import <- list() 

for (i in seq_along(files_names)) { 
data_import[[i]] <- read.csv(file = files_names[i], header=FALSE, check.names=FALSE) 
colnames(data_import[[i]]) <- c('date', 'measurement') 
data_import[[i]]["date"] <- as.POSIXct(data_import[[i]]["date"],"%Y-%m-%d %H:%M:%S") 
} 

names(data_import) <- frames_names 

Jetzt bekomme ich einen Fehler, der

„Fehler in as.POSIXct.default (data_import [[i] sagt ] ["Datum"], "% Y-% m-% d% H:% M:% S"): Ich weiß nicht, wie man 'data_import [[i]] ["date"]' in die Klasse "POSIXct „“

ich kann nicht herausfinden, was falsch ist .....

+1

Versuchen Sie 'data_import [[i]] [[" date "]]' stattdessen. – joran

+0

Drucken files_names [i] dann Überprüfen Sie Ihre Daten sorgfältig – chinsoon12

+0

data_import [[i]] [["date"]] arbeitete – user2304944

Antwort

0

Für alle, die auf dieses Problem stoßen, hier ist die Antwort.

data_import [[i]] ["date"] ergibt einen Datenrahmen. data_import [[i]] [["date"]] ergibt einen Vektor, der das Problem löst. data_import [[i]] $ date liefert auch einen Vektor und funktioniert daher auch.

Verwandte Themen