我有有這樣的數據DF:拓寬一個數據幀以獲取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列和總和的唯一值,但我不想這樣。我要爲所有catogorical列的每個獨特值分開列。
我是R的新手,非常感謝您的幫助。
預期產量是多少? – Haboryme