Генерация одного временного ряда из объединенных нерегулярных временных рядов - PullRequest
2 голосов
/ 03 октября 2019

Я новичок в настоящее время работаю над проектом, связанным с ежемесячными ценами на акции для различных фирм с 1960 по настоящее время. У меня есть несколько таблиц Excel, каждая с несколькими временными рядами для нескольких фирм. Я могу объединиться, и я заканчиваю набором данных с p = 4 и n = 610 000. Однако я ищу один временной ряд с тикерами в качестве переменных. т.е. р = 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 голосов
/ 03 октября 2019

Использование 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   
...