J'ai une table avec les informations sur les magasins et les fruits (pommes et oranges). Chaque magasin dispose d'un inventaire où ces fruits sont enregistrées par leur Id.
- Les pommes et les oranges peuvent être de différents types, par exemple, pink lady, royal gala, la pomme d'eve, la pomme de jazz etc. Quand ils sont de différents types, ils sont stockés avec des Identifiants différents.
- Mais quand deux pommes sont du même type, ils ont le même ID.
Je suis intéressé à compter, pour chaque atelier, combien de différents types de pommes et de nombreux types différents d'oranges sont là.
Mon entrée est:
Shop Apple_id Orange_id
Coles 12 201
Woolies 20 51
Walmart 13 16
Woolies 20 52
Coles 14 202
Target 19 81
M&S 75 99
Coles 16 203
M&S 71 99
Dunnes 56 101
M&S 72 91
Ma sortie attendue est:
Shop Apples Oranges
Coles 3 3
Dunnes 1 1
M&S 3 2
Target 1 1
Walmart 1 1
Woolies 1 2
Je peux exécuter le code un par un pour chaque fruit à l'aide de la dplyr()
package:
# Extract information on Apples only
library(dplyr)
apples_by_shop = raw %>%
group_by(shop) %>%
distinct(Apple_id) %>%
count()
De même, je peux écrire du code pour extraire de l'information pour les oranges seulement:
# Extract information on Oranges only
oranges_by_shop = raw %>%
group_by(shop) %>%
distinct(Orange_id) %>%
count()
Ma question est, puis-je les fusionner les deux ci-dessus dans une seule ligne de code par exemple, par le biais de la résumer de la fonction?
distinct()
au lieu deunique()
etcount()
au lieu delength()
. Apprécier la réponse rapide. Accepter la réponse, car il fonctionne sur l'original de mes données.