R 组合数据框并创建分组变量 dplyr

时间:2021-03-30 14:09:43

标签: r dplyr

合并具有相同变量的两个数据框的最简单的 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




2 个答案:

答案 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 日创建