J'ai un df qui a des données comme celle-ci:l'élargissement d'une trame de données pour obtenir des sommes mensuelles des revenus pour toutes les valeurs uniques des colonnes catogorical en R
sub = c("X001","X002", "X001","X003","X002","X001","X001","X003","X002","X003","X003","X002")
month = c("201506", "201507", "201506","201507","201507","201508", "201508","201507","201508","201508", "201508", "201508")
tech = c("mobile", "tablet", "PC","mobile","mobile","tablet", "PC","tablet","PC","PC", "mobile", "tablet")
brand = c("apple", "samsung", "dell","apple","samsung","apple", "samsung","dell","samsung","dell", "dell", "dell")
revenue = c(20, 15, 10,25,20,20, 17,9,14,12, 9, 11)
df = data.frame(sub, month, brand, tech, revenue)
Je veux utiliser sous et mois comme clé et obtenir un ligne pour chaque abonné par mois qui affiche la somme des revenus pour les valeurs uniques dans la technologie et la marque pour cet abonné pour ce mois. Cet exemple est simplifié et avec moins de colonnes car j'ai un énorme ensemble de données, j'ai décidé d'essayer de le faire avec data.table
.
J'ai réussi à le faire pour une colonne catagorical, que ce soit technique ou marque en utilisant ceci:
df1 <- dcast(df, sub + month ~ tech, fun=sum, value.var = "revenue")
mais je veux le faire pour deux ou plusieurs colonnes caqtogorical, jusqu'à présent, je l'ai essayé ceci:
df2 <- dcast(df, sub + month ~ tech+brand, fun=sum, value.var = "revenue")
et concatène simplement les valeurs uniques des deux colonnes et sommes catogorical pour cela, mais je ne veux pas. Je voudrais séparer les colonnes pour chaque valeur unique de toutes les colonnes catogoriques.
Je suis nouveau à R et j'apprécierais vraiment toute aide.
Quel serait le résultat attendu? – Haboryme