我有一个数据框,例如data
data = data.frame(ID = as.factor(c("A", "A", "B","B","C","C")),
var.color= as.factor(c("red", "blue", "green", "red", "green", "yellow")))
我想知道是否可以在ID
(例如A
,,B
)中获取每个组的级别C
并创建一个粘贴它们的变量。我试图通过运行以下命令来做到这一点:
data %>% group_by(ID) %>%
mutate(ex = paste(droplevels(var.color), sep = "_"))
这会产生:
Source: local data frame [6 x 3]
Groups: ID [3]
ID var.color ex
<fctr> <fctr> <chr>
1 A red red
2 A blue blue
3 B green red
4 B red red
5 C green green
6 C yellow yellow
但是,我想要的data.frame
应该是:
ID var.color ex
<fctr> <fctr> <chr>
1 A red red_blue
2 A blue red_blue
3 B green green_red
4 B red green_red
5 C green green_yellow
6 C yellow green_yellow