У меня есть ФР, который имеет данные, как это:Widening в dataframe, чтобы получить ежемесячные суммы дохода для всех уникальных значений catogorical столбцов в 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)
Я хочу использовать суб и месяц, как ключ и получить один для каждого абонента в месяц, который отображает сумму доходов за уникальные значения в технологии и бренде для этого абонента за этот месяц. Этот пример упрощен и с меньшим количеством столбцов, поскольку у меня есть огромный набор данных, который я решил попробовать сделать с data.table
.
мне удалось сделать это за одну catagorical колонки, либо технология или бренд с помощью этого:
df1 <- dcast(df, sub + month ~ tech, fun=sum, value.var = "revenue")
, но я хочу сделать это в течение двух или более caqtogorical колонн, до сих пор я попытался это:
df2 <- dcast(df, sub + month ~ tech+brand, fun=sum, value.var = "revenue")
и просто присоединяет уникальные значения обоих catogorical столбцов и сумм для этого, но я не хочу этого. Я разделяю отдельные столбцы для каждого уникального значения всех столбцов.
Я новичок в R и буду очень признателен за любую помощь.
Каким будет ожидаемый выход? – Haboryme