J'ai du mal à résoudre ce problème. Je vais l'expliquer au mieux sur la base de l'exemple, regardons les données ci-dessous :
order type_a type_b type_c type_d
1 1 0 50 10 0
2 2 10 0 0 80
3 3 15 0 0 35
4 4 0 0 30 0
5 5 0 20 40 0
et dput
:
data <- structure(list(order = c(1, 2, 3, 4, 5), type_a = c(0, 10, 15,
0, 0), type_b = c(50, 0, 0, 0, 20), type_c = c(10, 0, 0, 30,
40), type_d = c(0, 80, 35, 0, 0)), .Names = c("order", "type_a",
"type_b", "type_c", "type_d"), row.names = c(NA, -5L), class = "data.frame")
Nous pouvons voir que la première colonne indique le numéro de commande, les autres colonnes indiquent ce que nous faisons. appartient à cette ordonnance. En outre, si la colonne type_* est remplie avec 0, elle n'est pas pertinente.
J'aimerais créer une nouvelle colonne qui définit des groupes basés sur les colonnes "description de la commande" --> type_*. Par exemple, pour la commande 1 et la commande 5, nous avons les mêmes colonnes type_* remplies avec aucune valeur 0, donc elles appartiennent au même groupe, de même pour les commandes 2 et 3, etc.
Mon résultat final devrait ressembler à ceci :
order type_a type_b type_c type_d group
1 1 0 50 10 0 group_1
2 2 10 0 0 80 group_2
3 3 15 10 0 35 group_2
4 4 0 0 30 0 group_3
5 5 0 20 40 0 group_1
Pour votre information, dans mes données réelles, j'ai plus de 4 colonnes type_* --> il y en a environ 10-15 !
Merci de votre aide !