合并具有相同变量的两个数据框的最简单的 dplyr 方法是什么,同时为不同的观察创建带有组标签的标识符变量。
dfA <- c('y','x','z')
dfB <- c(345, 443, 123)
a <- data.frame(dfA,dfB)
b <- data.frame(dfA,dfB)
#What I want:
dfA dfB group
1 y 345 a
2 y 345 b
3 x 443 a
4 x 443 b
5 z 123 a
6 z 123 b
答案 0 :(得分:1)
这也可以达到目的
a$Group <- "a"
b$Group <- "b"
rbind(a, b)
> rbind(a, b)
dfA dfB Group
1 y 345 a
2 x 443 a
3 z 123 a
4 y 345 b
5 x 443 b
6 z 123 b
答案 1 :(得分:0)
我不完全确定你想要实现什么;也许这有帮助?
library(dplyr)
library(tidyr)
data.frame(dfA, dfB, group_a = "a", group_b = "b") %>%
pivot_longer(starts_with("group"), values_to = "group") %>%
select(-name)
#> # A tibble: 6 x 3
#> dfA dfB group
#> <chr> <dbl> <chr>
#> 1 y 345 a
#> 2 y 345 b
#> 3 x 443 a
#> 4 x 443 b
#> 5 z 123 a
#> 6 z 123 b
数据
dfA <- c('y','x','z')
dfB <- c(345, 443, 123)
由 reprex package (v1.0.0) 于 2021 年 3 月 30 日创建