r - 使用 R 在每个组内创建变量组合子组
问题描述
我有以下方式的数据框:
dat <- data.frame(v1=c("A", "A", "B", "B", "C", "C", "C","C"), v2=c("G1","G1","G1","G2","G1","G3","G3","G4"))
我需要创建一个新变量来指示每个组(v1)中的所有子组(v2),以便最后我的数据将采用以下方式:
v1 v2 which_subgroups
1 A G1 "G1"
2 A G1 "G1"
3 B G1 "G1, G2"
4 B G2 "G1, G2"
5 C G1 "G1, G3, G4"
6 C G3 "G1, G3, G4"
7 C G3 "G1, G3, G4"
8 C G4 "G1, G3, G4"
解决方案
这是使用dplyr
包&的解决方案paste
library(dplyr)
dat %>%
group_by(v1) %>%
mutate(sub_group = paste(sort(unique(v2)), collapse = ", "))
#> # A tibble: 8 x 3
#> # Groups: v1 [3]
#> v1 v2 sub_group
#> <chr> <chr> <chr>
#> 1 A G1 G1
#> 2 A G1 G1
#> 3 B G1 G1, G2
#> 4 B G2 G1, G2
#> 5 C G1 G1, G3, G4
#> 6 C G3 G1, G3, G4
#> 7 C G3 G1, G3, G4
#> 8 C G4 G1, G3, G4
由reprex 包于 2021-05-26 创建 (v2.0.0 )
推荐阅读
- c# - C# 动态在访问属性时抛出 RuntimeBinderException
- python - 在 Python 中为 JSON 参数(日期)构建循环
- python - Selenium Python 找不到元素
- firebase - 为什么我在 google 操作上的 alpha 版本无法连接我在 dialogflow 中的操作?
- jquery - plupload:上传前验证图像尺寸?
- php - WordPress:覆盖 YoastSEO 中的规范 URL
- javascript - 生成 index.js 时如何解决续集连接问题?
- python-3.x - 如何根据多个嵌套条件在 Pandas 数据框中创建一个新列并填充各自的特定值?
- java.util.scanner - 如何在扫描仪中正确使用多个字符串变量?
- amazon-web-services - 使用 powershell 脚本安装 msi 文件