我还有另一个问题。我在数据框中有一个日期时间列,当我上传它时它就是一个因素,我希望它是POSIXct
str(ida$DATA_TRAMA)
Factor w/ 1122932 levels "1-1-2010 00:00:51",..: 629101 629120 629128 629132 629139 629149
我希望它是POSIXct(%Y-%m-%d%H:%M:%S)格式。我已经尝试了所有这些方法,但是似乎都不起作用。无论我采用哪种方法,它都会获得NA值。
ida$DATA_TRAMA<- as.POSIXct(ida$DATA_TRAMA,format='%d/%m/%Y %H:%M:%S')
ida$DATA_TRAMA<- as.POSIXct(as.character(ida$DATA_TRAMA), format = "%d/%m/%Y %H:%M")
ida$DATA_TRAMA <-format(ida$DATA_TRAMA, "%Y-%m-%d")
ida$DATA_TRAMA <- as.POSIXct(ida$DATA_TRAMA, format = '%Y-%m-%d:%H:%M:%S')
ida$DATA_TRAMA <- as.POSIXlt(as.character(ida$DATA_TRAMA), format="%m/%d/%Y %H:%M:%S")
ida$DATA_TRAMA <- strptime(ida$DATA_TRAMA,"%Y-%m-%d %H:%M:%S")
你知道怎么做吗?
答案 0 :(得分:1)
使用"factor"
参数as.POSIXct
将调用as.POSIXct.default
,它使用具有as.POSIXlt
方法的"factor"
,所以只需执行以下操作:
DF <- data.frame(d = "1-1-2010 00:00:51") # test data. d has factor class.
transform(DF, d = as.POSIXct(d, format = "%m-%d-%Y %T"))
给予:
d
1 2010-01-01 00:00:51