gpt4 book ai didi

r - 在数据框中使用日期时间对象

转载 作者:行者123 更新时间:2023-12-01 09:28:43 24 4
gpt4 key购买 nike

如果我想将字符串转换为 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"])

最佳答案

我推荐使用 POSIXct:

df[,"a"]<-as.POSIXct(as.character(df[,"a"]),tz="GMT")

如果你必须使用 POSIXlt(为什么?):

df$a <- as.POSIXlt(as.character(df[,"a"]),tz="GMT")

问题是 POSIXlt 类的对象实际上是列表。 $<-可以正确处理,[<-不能。

关于r - 在数据框中使用日期时间对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18823109/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com