j'ai une trame de données telles que data
R Créer une variable avec les niveaux de données groupées
data = data.frame(ID = as.factor(c("A", "A", "B","B","C","C")),
var.color= as.factor(c("red", "blue", "green", "red", "green", "yellow")))
Je me demande s'il est possible d'obtenir les niveaux de chaque groupe dans ID
(par exemple A
, B
, C
) et créez une variable qui les colle. J'ai essayé de le faire en lançant ce qui suit:
data %>% group_by(ID) %>%
mutate(ex = paste(droplevels(var.color), sep = "_"))
qui donne:
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
Cependant, mon choix data.frame
devrait être quelque chose comme:
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
Je l'ai édité. J'ai aussi utilisé «effondré» mais c'était à tort. Merci de clarifier. – Edu