【发布时间】:2022-01-24 06:11:26
【问题描述】:
我有一个data.frame 将ids 分配给groups。在最简单的情况下,每个id 都被分配给不同的group:
df1 <- data.frame(group = c("a1","a2"),
id = c("i1","i2"),
stringsAsFactors = F)
在第二种情况下,所有ids 都分配给一个group:
df2 <- data.frame(group = c("a1","a1"),
id = c("i1","i2"),
stringsAsFactors = F)
在第三种情况下,id 到 group 的分配不明确:
df3 <- data.frame(group = c("a1","a2","a2"),
id = c("i1","i1","i2"),
stringsAsFactors = F)
根据上述情况,我正在寻找一个函数,该函数将返回标签 "scenario1"/"scenario2"/"scenario3",给定这样的 data.frame 和 id 和 group 列。
换句话说,此函数将返回"scenario1" 用于df1,"scenario2" 用于df2,"scenario3" 用于df3
显然这可以使用if 语句来完成,但我希望使用dplyr/tidyverse 或data.table 可以更快地完成。
【问题讨论】:
标签: r dataframe dplyr data.table tidyverse