从合并的不规则时间序列中生成一个时间序列

时间:2019-10-02 22:39:44

标签: r merge time-series

我是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)))

1 个答案:

答案 0 :(得分:0)

使用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