日期类型为时间序列的变换数据帧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" 
+0

嗨,Aurelien,非常感谢您的解决方案。 – user1010441

+0

我生病了,但是当我回来工作时,我会尝试你的优雅的解决方案。 – user1010441

+0

不幸的是,我不能给你更多的细节,因为数据是保密的。但你的解决方案听起来不错如果它有效,我会尽快通知你。 – user1010441