0
所有現有的組合我有一個data.table out
這樣的(實際上它是大得多):data.table:薩姆通過在表
out <- code weights group
1: 2 0.387 1
2: 1 0.399 1
3: 2 1.610 1
4: 3 1.323 2
5: 2 0.373 2
6: 1 0.212 2
7: 3 0.316 3
8: 2 0.569 3
9: 1 0.120 3
10: 1 0.354 3
它有3個基團與不同的代碼(第1欄) 。在組#1中,代碼3不出現,而在另一個出現。
然後,我想總結每個組和代碼組合的權重。我用這個命令做到這一點:
sum.dt <- out[,.(sum(weights)), by=list(code,group)][order(-V1)]
這種運作良好,但它不具有組合組1碼3,因爲它不是在out
表。我想在sum.dt
中有所有可能的組合,並且如果源表中沒有發生組合,它應該總計爲0,這意味着該行中的列V1
應該爲0。
任何想法,我怎麼能實現這一點?
'setkey的(出,代碼組)'; 'CJ(code,group,unique = TRUE)] [,lapply(.SD,sum),by =。(code,group)] [order(group,-weights)]' – Jaap
已將此作爲答覆 – Jaap
你也可以根據你想要做什麼找到有用的數組結構。 'xtabs(權重〜組+代碼,出)' –