日期类型为时间序列的变换数据帧POSIXct
问题描述:
我有一个数据帧,其中包含以下两个变量: amount:num 1213.5 34.5 ... txn_date:POSIXct,format“2017-05-01 12:13:30 “...日期类型为时间序列的变换数据帧POSIXct
我想使用ts()在时间序列中对其进行转换。
我开始使用此代码:
ž< - 动物园(数据$量,order.by = as.Date(as.character(数据$ txn_date),格式=“%Y /%米/% d%H:%M:%S“))
但问题是在ZI中松了日期。实际上,所有的日期都报告为NA。
我该如何解决? 对于我的分析很重要的日期格式为:%Y /%m /%d%H:%M:%S 例如2017-05-01 12:13:30。我不想删除变量txn_date中的时间组件。
Yhan你的帮助, 安德烈
答
我觉得你prolem来自你操纵你的数据帧的方式,可以发布关于它的详细信息,请?
我想我有一个修复程序给你。 数据帧我用:
> Z<-zoo(df1$data,order.by=(as.POSIXct(df1$date$`%Y-%m-%d`)))
> Z
value
1974-01-01 1.9150
1974-01-02 3.1025
1974-01-03 6.7400
1974-01-04 8.5025
1974-01-05 11.0025
1974-01-06 9.8025
1974-01-07 9.0775
1974-01-08 7.0900
1974-01-09 6.8525
1974-01-10 7.4900
这里最重要的是,我使用的df1$date$%Y-%m-%d
而不只是 df1$date
> df1
$data
value
1 1.9150
2 3.1025
3 6.7400
4 8.5025
5 11.0025
6 9.8025
7 9.0775
8 7.0900
9 6.8525
10 7.4900
$date
%Y-%m-%d
1 1974-01-01
2 1974-01-02
3 1974-01-03
4 1974-01-04
5 1974-01-05
6 1974-01-06
7 1974-01-07
8 1974-01-08
9 1974-01-09
10 1974-01-10
> class(df1$data$value)
[1] "numeric"
> class(df1$date$`%Y-%m-%d`)
[1] "POSIXct" "POSIXt"
然后我就可以通过调用动物园一样,意甲创建时间
事实上,如果我尝试你的方式,我也会得到NA
的值:
> Z<-zoo(df1$data,order.by=as.POSIXct(as.Date(as.character(df1$date),format("%Y-%m-%d"))))
> Z
value
<NA> 1.915
要获取数据$ txn_date的名称,可以使用以下命令:names(data$txn_date)
并尝试使用您的数据框和名称的解决方案。
> names(df1$date)
[1] "%Y-%m-%d"
嗨,Aurelien,非常感谢您的解决方案。 – user1010441
我生病了,但是当我回来工作时,我会尝试你的优雅的解决方案。 – user1010441
不幸的是,我不能给你更多的细节,因为数据是保密的。但你的解决方案听起来不错如果它有效,我会尽快通知你。 – user1010441