R 重塑表格:年度与月度数据

R 重塑表格:年度与月度数据,r,time-series,reshape,R,Time Series,Reshape,制作数据帧 a <- c(1981,11.663480,12.580290,11.728730,10.403690,8.065430,7.498169,9.858521, 10.503750,12.837550,13.322750,12.120450,13.466980) b <- c(1982,13.250670,13.158510,13.805300,13.768520,12.035980,9.121552,11.130580, 12.353730,12.

制作数据帧

a <- c(1981,11.663480,12.580290,11.728730,10.403690,8.065430,7.498169,9.858521,   
   10.503750,12.837550,13.322750,12.120450,13.466980)
b <- c(1982,13.250670,13.158510,13.805300,13.768520,12.035980,9.121552,11.130580,   
   12.353730,12.448520,12.690670,12.369690,13.099700)
Data <- as.data.frame(t(a))
Data[2,]<- t(b)
我用它来重塑:

library(reshape)
md <- melt(Data, id=(c("V1")))
库(重塑)

md我们可以使用
粘贴
将行序列与“V1”列对齐,执行
排列

library(dplyr)
md %>% 
  group_by(V1) %>% 
  mutate(dates = sprintf('%d/%02d', V1, row_number()), value) %>% 
  ungroup %>% 
  select(-V1, -variable) %>%
  arrange(dates)

您对
md
的预期输出是什么?它是一个3列数据集。为什么需要再次进行
cast
,因为它是对应年份的每个月的长格式,其值从1981年1月-11.63开始
library(dplyr)
md %>% 
  group_by(V1) %>% 
  mutate(dates = sprintf('%d/%02d', V1, row_number()), value) %>% 
  ungroup %>% 
  select(-V1, -variable) %>%
  arrange(dates)