Bonsoir.
Dans une dataframe groupée je cherche si des valeurs d'une colonne sont présentes dans une autre colonne pour chaque groupe indépendamment bien sûr.
Voici in exemple factice et simplifié de mes données :
Voici le résultat attendu :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 df <- data.frame() for (i in 1:4) { for (j in 1:4) { x <- sample(1:12,4) y <- sample(1:12,4) gr <- i x <- cbind(gr,x,y) } df <- rbind(df,x) } df <- df %>% group_by(gr)
Je pourrais le faire avec une boucle :gr x1 x2 x3 x4 1 1 1 0 0 2 0 0 1 0 3 1 1 0 0 4 0 0 0 1
mais je suis sur que c'est faisable avec quelque chose de la famille des apply. Mon problème c'est que j'ai beau triturer tout cela dans tous les sens, je ne m'en sort pas. Un peu d'aide serait la bienvenue.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 pre <- unique(df$gr) result <- data.frame() for (i in pre) { tmp <- df %>% filter(gr == i) result <- rbind(result,as.integer(tmp$x %in% tmp$y )) } result <- cbind(pre,result) names(result) <- c("gr","x1","x2","x3","x4")
Merci
Partager