【问题标题】:Generating one time series from merged irregular time series从合并的不规则时间序列生成一个时间序列
【发布时间】:2020-02-01 05:55:09
【问题描述】:

我是一名 R 新手,目前正在从事一个与从 1960 年到现在的多家公司的月度股票价格相关的项目。我有多个 excel 电子表格,每个都有多个公司的多个时间序列。我能够合并,并以 p=4 和 n=610,000 的数据集结束。然而,我正在寻找的是一个以股票代码作为变量的单一时间序列。即 p=1600 和 n=730(大约)。

have<-data.frame(list(Time=c(1,2, 3, 4, 1, 2, 3, 4, 1, 2,3, 4), Firm=c('A','A','A','A', 'B','B','B','B','C','C','C','C'), Price=c(15, 5, 10, 5, 25, 20, 15, 'NA', 'NA', 35, 85, 50)))



want<-data.frame(list(Time=c(1,2,3,4), A=c(15,5,10,5), B=c(25,20,15,'NA'), C=c('NA', 35, 85, 50)))

【问题讨论】:

    标签: r merge time-series


    【解决方案1】:

    使用pivot_wider

    library(tidyr)
    library(dplyr)
    have %>% 
       pivot_wider(names_from = Firm, values_from = Price)
    # A tibble: 4 x 4
    #   Time A     B     C    
    #  <dbl> <fct> <fct> <fct>
    #1     1 15    25    NA   
    #2     2 5     20    35   
    #3     3 10    15    85   
    #4     4 5     NA    50   
    

    【讨论】:

    • 完美,这正是我想要的。抱歉回复晚了,没想到这么快就回复了。再次感谢您!
    猜你喜欢
    • 2016-04-07
    • 2013-11-07
    • 1970-01-01
    • 2011-10-28
    • 2012-05-12
    • 1970-01-01
    • 2014-09-02
    • 2011-04-23
    相关资源
    最近更新 更多