【发布时间】:2021-09-25 15:07:08
【问题描述】:
我有一个数据框,每行表示一个唯一的 id。
ID <- 1:12
Date1 <- seq(as.Date("2000/1/1"), length.out = 12, by = "months")
Date2 <- seq(as.Date("2001/1/1"), length.out = 12, by = "months")
Date3 <- seq(as.Date("2002/1/1"), length.out = 12, by = "months")
Fcast1 <- rnorm(12)
Fcast2 <- rnorm(12)
Fcast3 <- rnorm(12)
df <- data.frame(ID, Date1, Fcast1, Date2, Fcast2, Date3, Fcast3)
我想在 Date 和 Fcast 两列中收集 Date1 到 Date3 和 Fcast1 到 Fcast3 列,并重复 ID 3 次。基本上创建数据的长视图或 rbind-ing 每对 Date 和 Fcast。 所需的输出形状:
ID <- rep(ID, 3)
Date = c(Date1, Date2, Date3)
Fcast = c(Fcast1, Fcast2, Fcast3)
df <- data.frame(ID, Date, Fcast)
【问题讨论】:
标签: r dplyr data.table tidyverse tidyr