Soy un principiante con R y necesita ayuda con la tarea. La salida de dummy conjunto de datos con dput (real, el conjunto es muy grande):
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"))
Qué debe hacer: una columna, la cual muestra la participación de cada MARCA en por ciento debe ser añadido. Primero lo que he hecho es crear una nueva columna "VALOR" de esta manera:
df$VALUE <- with(df, AMOUNT*PRICE)
Ahora la columna de COMPARTIR debe ser creado de tal manera: la suma de los valores (de la columna) el VALOR de una marca en particular en una categoría en particular, dividido por la suma de los valores de toda la categoría. Por ejemplo, "ROTHMANS" está en la categoría CIG, la suma de los valores de es 319.92, la suma de la totalidad de la CIG categoría es 2285,56, por lo que, el RECURSO=14%. Y debe ser calculado en cada caso. Creo que dplyr de la biblioteca puede ser adecuado, pero no puede encontrar una solución.