我在一个看起来像这样的列表中有数据框:
v1 <- data.frame(time = c(1, 3, 5, 9, 33),
value = c(4, 3, 2, 3, 12),
SE = c(1, 2, 3, 2, 1))
v2 <- data.frame(time = c(1, 3, 5, 9, 33),
value = c(12, 3, NA, 2, 4),
SE = c(1, 2, 1, 12, 3))
list <- list(v1, v2)
我想融化/减少它看起来像这样:
time variable value SE
1 1 v1 4 1
2 3 v1 3 2
3 5 v1 2 3
4 9 v1 3 2
5 33 v1 12 1
6 1 v2 12 1
7 3 v2 3 2
8 5 v2 NA 1
9 9 v2 2 12
10 33 v2 4 3
到目前为止,我都没有尝试过此代码。
data <- list %>% reduce(full_join, by = "time")
data2 <- melt(data, id = c("time"))
谢谢!
在这里,我们可以使用bind_rows
library(dplyr)
bind_rows(list, .id = 'variable')