df <-data.frame(id=c(1L,1L,2L,3L,2L,3L,4L),brand=c('a','a','b','c','d','a','b'),quantity=c(
2L,1L,5L,10L,11L,1L,2L),stringsAsFactors=F);
id brand quantity
1 1 a 2
2 1 a 1
3 2 b 5
4 3 c 10
5 2 d 11
6 3 a 1
7 4 b 2
c'est la trame de donnéesdonnées Reshape de longue à large
si j'utilise la commande suivante
sparse_matrix1 <- reshape2::dcast(df, df$id~df$brand)
je reçois la sortie suivante
df$id a b c d
1 1 2 0 0 0
2 2 0 1 0 1
3 3 1 0 1 0
4 4 0 1 0 0
Il prend seulement première entrée pour le résultat mais il ne donne pas la somme des deux premières entrées.
Y at-il une manière telle que, je reçois la réponse que 3 (soit 2 + 1 somme de quantité pour les entrées première et seconde) marque = 3 et id = 1.
La sortie devrait être
df$id a b c d
1 1 3 0 0 0
2 2 0 1 0 1
3 3 1 0 1 0
4 4 0 1 0 0
Merci d'avance.
Vous cherchez 'dcast (df, df $ id ~ df marque $, fun.aggregate = somme)'? – mtoto
merci beaucoup @mtoto pour m'aider. – Maddy