R 如何将2个时间序列数据(宽表)合并为1个数据帧(宽表)?

R 如何将2个时间序列数据(宽表)合并为1个数据帧(宽表)?,r,dataframe,time-series,R,Dataframe,Time Series,我使用的是RStudio,我的R代码有以下两个输出: actual_2017 <- tail(mydata,12) > actual_2017 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 2017 5980 5341 5890 5596 5753 5470 5589 5545 5749 5938 5844 5356 > predicted_2017 <- head(pred1,12)

我使用的是
RStudio
,我的
R
代码有以下两个输出:

actual_2017 <- tail(mydata,12)
> actual_2017
      Jan  Feb  Mar  Apr  May  Jun  Jul  Aug  Sep  Oct  Nov  Dec
2017 5980 5341 5890 5596 5753 5470 5589 5545 5749 5938 5844 5356

> predicted_2017 <- head(pred1,12)
> predicted_2017
      Jan  Feb  Mar  Apr  May  Jun  Jul  Aug  Sep  Oct  Nov  Dec
 2017 5762 5275 5733 5411 5406 4954 5464 5536 5805 5819 5903 5630

> str(actual_2017)
 Time-Series [1:12] from 2017 to 2018: 5980 5341 5890 5596 5753 5470 5589 5545 5749 5938 ...

 > str(predicted_2017)
   Time-Series [1:12] from 2017 to 2018: 5763 5275 5734 5412 5407 ...
我怎样才能做到这一点?此外,我还需要2017年旁边的(A)和(P),以便表格能够清楚地显示其内容。

希望这能有所帮助

#示例数据(我自己制作了示例数据,希望您不要介意!)
希望这有帮助

#示例数据(我自己制作了示例数据,希望您不要介意!)
实际使用,
t
(转置)、
rbind
名称
行名
等。您可以实现您想要的:

actual_2017 <- data.frame(t(c(5980, 5341, 5890, 5596, 5753, 5470, 5589, 5545, 5749, 5938, 5844, 5356)))
names(actual_2017 ) <- c("Jan", "Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
rownames(actual_2017) <- "2017"
actual_2017
      Jan  Feb  Mar  Apr  May  Jun  Jul  Aug  Sep  Oct  Nov  Dec
2017 5980 5341 5890 5596 5753 5470 5589 5545 5749 5938 5844 5356

predicted_2017 <- data.frame(t(c(5762, 5275, 5733, 5411, 5406, 4954, 5464, 5536, 5805, 5819, 5903, 5630)))
names(predicted_2017 ) <- c("Jan", "Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
rownames(predicted_2017) <- "2017"
predicted_2017
      Jan  Feb  Mar  Apr  May  Jun  Jul  Aug  Sep  Oct  Nov  Dec
2017 5762 5275 5733 5411 5406 4954 5464 5536 5805 5819 5903 5630

merged <- rbind(actual_2017, predicted_2017)
rownames(merged) <- c("2017 (A)", "2017 (P)")
merged
          Jan  Feb  Mar  Apr  May  Jun  Jul  Aug  Sep  Oct  Nov  Dec
2017 (A) 5980 5341 5890 5596 5753 5470 5589 5545 5749 5938 5844 5356
2017 (P) 5762 5275 5733 5411 5406 4954 5464 5536 5805 5819 5903 5630
actual_2017通过使用,
t
(转置)、
rbind
名称
行名
等,您可以实现您想要的:

actual_2017 <- data.frame(t(c(5980, 5341, 5890, 5596, 5753, 5470, 5589, 5545, 5749, 5938, 5844, 5356)))
names(actual_2017 ) <- c("Jan", "Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
rownames(actual_2017) <- "2017"
actual_2017
      Jan  Feb  Mar  Apr  May  Jun  Jul  Aug  Sep  Oct  Nov  Dec
2017 5980 5341 5890 5596 5753 5470 5589 5545 5749 5938 5844 5356

predicted_2017 <- data.frame(t(c(5762, 5275, 5733, 5411, 5406, 4954, 5464, 5536, 5805, 5819, 5903, 5630)))
names(predicted_2017 ) <- c("Jan", "Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
rownames(predicted_2017) <- "2017"
predicted_2017
      Jan  Feb  Mar  Apr  May  Jun  Jul  Aug  Sep  Oct  Nov  Dec
2017 5762 5275 5733 5411 5406 4954 5464 5536 5805 5819 5903 5630

merged <- rbind(actual_2017, predicted_2017)
rownames(merged) <- c("2017 (A)", "2017 (P)")
merged
          Jan  Feb  Mar  Apr  May  Jun  Jul  Aug  Sep  Oct  Nov  Dec
2017 (A) 5980 5341 5890 5596 5753 5470 5589 5545 5749 5938 5844 5356
2017 (P) 5762 5275 5733 5411 5406 4954 5464 5536 5805 5819 5903 5630

actual_2017运行您的代码时,我得到以下输出:[,1][,2][,3]。。。2017年(A)598053415890。。。2017年(P)576252755733。。。我想那是因为我正在合并两个ts文件。您给出的示例是合并2个数据帧。您也可以使用一个数据帧处理时间序列数据。上面的代码给出的输出与下面的代码完全相同。我使用的是RevoreEnterprise 7.3.0。所以,您应该得到与我使用的dataframe完全相同的输出。我将答案转换为“可以复制粘贴”类型。所以,上面的代码解决了这个问题。好的,明白了!谢谢。当我运行你的代码时,我得到了以下输出:[,1][,2][,3]。。。2017年(A)598053415890。。。2017年(P)576252755733。。。我想那是因为我正在合并两个ts文件。您给出的示例是合并2个数据帧。您也可以使用一个数据帧处理时间序列数据。上面的代码给出的输出与下面的代码完全相同。我使用的是RevoreEnterprise 7.3.0。所以,您应该得到与我使用的dataframe完全相同的输出。我将答案转换为“可以复制粘贴”类型。所以,上面的代码解决了这个问题。好的,明白了!谢谢
actual_2017 <- data.frame(t(c(5980, 5341, 5890, 5596, 5753, 5470, 5589, 5545, 5749, 5938, 5844, 5356)))
names(actual_2017 ) <- c("Jan", "Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
rownames(actual_2017) <- "2017"
actual_2017
      Jan  Feb  Mar  Apr  May  Jun  Jul  Aug  Sep  Oct  Nov  Dec
2017 5980 5341 5890 5596 5753 5470 5589 5545 5749 5938 5844 5356

predicted_2017 <- data.frame(t(c(5762, 5275, 5733, 5411, 5406, 4954, 5464, 5536, 5805, 5819, 5903, 5630)))
names(predicted_2017 ) <- c("Jan", "Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
rownames(predicted_2017) <- "2017"
predicted_2017
      Jan  Feb  Mar  Apr  May  Jun  Jul  Aug  Sep  Oct  Nov  Dec
2017 5762 5275 5733 5411 5406 4954 5464 5536 5805 5819 5903 5630

merged <- rbind(actual_2017, predicted_2017)
rownames(merged) <- c("2017 (A)", "2017 (P)")
merged
          Jan  Feb  Mar  Apr  May  Jun  Jul  Aug  Sep  Oct  Nov  Dec
2017 (A) 5980 5341 5890 5596 5753 5470 5589 5545 5749 5938 5844 5356
2017 (P) 5762 5275 5733 5411 5406 4954 5464 5536 5805 5819 5903 5630