(来自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
答案 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()
,您可以看到该函数采用了哪些参数以及如何正确使用它们。