如何使用POSIXct类型的列初始化data.frame?

时间:2014-06-16 19:07:05

标签: r dataframe posixct

我可以通过

初始化data.frame
df <- data.frame(a=numeric(), b=character())

但是如何定义POSIXct类型的列?

df <- data.frame(a=numeric(), b=character(), c=POSIXct())

无效。

2 个答案:

答案 0 :(得分:11)

你可以尝试

df <- data.frame(a=numeric(), b=character(), c=as.POSIXct(character()))

答案 1 :(得分:1)

上述初始化的另一个提示:如果您开始向这个空数据框添加行的rbind()活动,如果您遵循以下模式,则可能会遇到如下错误:

oneDF <- rbind(oneDF,twoDF,stringsAsFactors=FALSE)
Error in as.POSIXct.default(value) :
  do not know how to convert 'value' to class "POSIXct"

我终于发现删除stringsAsFactors = FALSE允许POSIXct值(整数时间和时区)转移到目标DF。

oneDF <- rbind(oneDF,twoDF)

检查结果:

unclass(oneDF$mytime)
[1] 1282089600
attr(,"tzone")
[1] "GMT"