Если я хочу преобразовать строку в POSIXlt, там что-то не так, но я не могу понять, в чем проблема.Использование объектов времени времени в кадре данных
df<-data.frame(a=c("2013-07-01 11:51:03" ,"2013-07-01 12:01:50", "2013-07-01 12:05:13"),b=1:3)
#factor(df[,"a"])
df[,"a"]<-as.POSIXlt(as.character(df[,"a"]),origin = "1960-01-01",tz="GMT")
> Warning message:
In `[<-.data.frame`(`*tmp*`, , "a", value = list(sec = c(3, 50, :
9 variables declared, to replace 1 variablen
df<-data.frame(a=c("2013-07-01 11:51:03" ,"2013-07-01 12:01:50", "2013-07-01 12:05:13"),b=1:3)
df$a<-as.POSIXlt(as.character(df[,"a"]),origin = "1960-01-01",tz="GMT")
factor(df[,"a"])
> Error in sort.list(y) : 'x' should be atomar for 'sort.list'
До сих пор я использую работу вокруг как
a<-as.POSIXlt(as.character(df[,"a"]),origin = "1960-01-01",tz="GMT")
df1<-data.frame(a,df[,"b"])
+1 Я не знал, что '$ <- 'может иметь дело со списками. –
Многие thx, почему 'df $ a <-as.POSIXlt (as.character (df [," a "]), origin =" 1960-01-01 ", tz =" GMT "); factor (df [, "a"]) 'также вызывает ошибку, как я показываю в начале сообщения? – Heiko
Потому что 'factor' ожидает атомный вектор, который не является объектом' POSIXlt'. – Roland