RBbg - 重塑时间序列数据

 andyfeifei 发布于 2023-02-13 16:44

有没有更好的方法来重塑数据帧数据?

temp <- bdh(conn,c("AUDUSD Curncy","EURUSD Curncy"),"PX_LAST","20110101")

head(temp)
         ticker       date PX_LAST
1 AUDUSD Curncy 2011-01-01      NA
2 AUDUSD Curncy 2011-01-02      NA
3 AUDUSD Curncy 2011-01-03  1.0205
4 AUDUSD Curncy 2011-01-04  1.0040
5 AUDUSD Curncy 2011-01-05  1.0014
6 AUDUSD Curncy 2011-01-06  0.9969

tail(temp)
            ticker       date PX_LAST
2127 EURUSD Curncy 2013-11-26  1.3557
2128 EURUSD Curncy 2013-11-27  1.3570
2129 EURUSD Curncy 2013-11-28  1.3596
2130 EURUSD Curncy 2013-11-29  1.3591
2131 EURUSD Curncy 2013-11-30      NA
2132 EURUSD Curncy 2013-12-01      NA

换句话说,数据只是垂直地相互固定,为了使它们工作,需要进一步处理.如何将这些数据重新组合成各种代码,即

head(temp)
           AUDUSD.Curncy EURUSD.Curncy
2011-01-01            NA            NA
2011-01-02            NA            NA
2011-01-03        1.0205        1.3375
2011-01-04        1.0040        1.3315
2011-01-05        1.0014        1.3183
2011-01-06        0.9969        1.3028

我用Google搜索的所有重塑问题都没有我想要的那种重塑.我已经实现了我自己的零碎解决方案,但出于学习的目的,我想问你们,如果有一个更优雅的解决方案吗?

1 个回答
  • 你可以试试read.zoo.使用index.column,以指定列索引/时间被存储,并且根据重塑数据splitcolumnn.结果是zoo时间序列

    library(zoo)
    
    z <- read.zoo(text = "ticker     date PX_LAST
    1 AUDUSD 2011-01-01      NA
    2 AUDUSD  2011-01-02      NA
    3 AUDUSD 2011-01-03  1.0205
    4 AUDUSD 2011-01-04  1.0040
    5 AUDUSD  2011-01-05  1.0014
    6 AUDUSD 2011-01-06  0.9969
    2127 EURUSD  2013-11-26  1.3557
    2128 EURUSD  2013-11-27  1.3570
    2129 EURUSD  2013-11-28  1.3596
    2130 EURUSD  2013-11-29  1.3591
    2131 EURUSD  2013-11-30      NA
    2132 EURUSD  2013-12-01      NA", index.column = "date", split = "ticker")
    
    z
    #            AUDUSD EURUSD
    # 2011-01-01     NA     NA
    # 2011-01-02     NA     NA
    # 2011-01-03 1.0205     NA
    # 2011-01-04 1.0040     NA
    # 2011-01-05 1.0014     NA
    # 2011-01-06 0.9969     NA
    # 2013-11-26     NA 1.3557
    # 2013-11-27     NA 1.3570
    # 2013-11-28     NA 1.3596
    # 2013-11-29     NA 1.3591
    # 2013-11-30     NA     NA
    # 2013-12-01     NA     NA
    
    str(z)
    

    2023-02-13 16:48 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有