chron写入字符串并返回

时间:2015-11-11 11:37:10

标签: r

(来自R的新人,来自熊猫世界)

假设我的数据框中有一列chron对象,我怎么能以正确的格式将它们写入csv,这样当我读回csv时,我可以将同一列转换回来像pandas.to_datetime(df.dt_col)一样轻松进入chron对象?

> x = chron("10/19/15", "22:11:22")
> x
[1] (10/19/15 22:11:22)
> as.character(x)
[1] "(10/19/15 22:11:22)"
> as.chron(as.character(x))
Error in as.POSIXlt.character(x, tz, ...) : 
  character string is not in a standard unambiguous format

2 个答案:

答案 0 :(得分:2)

您正在将特定二进制对象序列化为CSV,因此您需要稍微修改一下工作流程:

library(chron)

dat <- data.frame(x=chron("10/19/15", "22:11:22"))

write.csv(data.frame(date=as.character(dates(dat$x)),
                     time=as.character(times(dat$x))), 
          file="chron.csv", row.names=FALSE)

new_dat <- read.csv("chron.csv", stringsAsFactors=FALSE)
new_dat$x <- chron(new_dat$date, new_dat$time)

但是,你想解决什么问题?如果您可以向我们提供更多信息,这可能更适合作为Rdata文件与CSV。

答案 1 :(得分:0)

试试as.chron(as.character(x),format = "(%m/%d/%Y %H:%M:%S")。也许这可以做到这一点? 通过使用R-help ?as.chron(),您可以看到该函数采用了哪些参数以及如何正确使用它们。