Je suis un débutant avec R et ont besoin d'aide à la tâche. La sortie de mannequin dataset avec dput (réel jeu est vraiment très grand):
structure(list(CODE = c(453, 463, 476,
798, 885, 582, 626, 663, 457, 408
), CATEGORY = c("CIG", "BET", "CIG", "CIG", "ARI", "CRR", "ARI", "CIG",
"CIG", "BET"), AMOUNT = c(22, 5, 6, 52, 16, 11, 6, 70, 208, 5),
PRICE = c(5.56, 8.29, 3.89, 3.8, 4.05, 3.99, 3.55, 7.69, 6.75,
5.2), BRAND = c("ROTHMANS", "ALLINO", "MARLBORO", "ROTHMANS", "AURIELO",
"SOLINOS", "CHLEBLO", "MARLBORO", "LD", "SOLINOS"
)), row.names = c(NA, -10L), class = c("tbl_df",
"tbl", "data.frame"))
Ce qui devrait être fait: une colonne qui permettra de montrer la part de chaque MARQUE, en % doit être ajoutée. Tout d'abord ce que j'ai fait est de créer une nouvelle colonne "VALEUR" de cette façon:
df$VALUE <- with(df, AMOUNT*PRICE)
Maintenant la colonne ACTION doit être créé dans une telle manière: somme des valeurs (à partir de la VALEUR de la colonne) d'une marque dans une catégorie donnée, divisée par la somme des valeurs de l'ensemble de la catégorie. Par exemple, "ROTHMANS" est dans la catégorie de la CIG, la somme des valeurs est 319.92, la somme pour l'ensemble de la CIG de la catégorie est 2285,56, donc, de la PART de=14%. Et il devrait être calculé dans chaque cas. Je pense que dplyr bibliothèque peut être adapté, mais ne peut pas trouver une solution.