data.table: Summe aller vorhandenen Kombinationen in Tabelle
Ich habe eine data.tableout
wie folgt (in Wirklichkeit ist es viel größer):
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
s hat 3 Gruppen mit unterschiedlichen Codes (Spalte 1). In Gruppe 1 wird der Code 3 nicht angezeigt, während er in der anderen Gruppe angezeigt wird.
Dann möchte ich die Gewichte für jede Kombination aus Gruppe und Code summieren. Ich erreiche dies mit diesem Befehl:
sum.dt <- out[,.(sum(weights)), by=list(code,group)][order(-V1)]
Dies funktioniert gut, hat aber nicht die Kombination Gruppe 1 mit Code 3, da es nicht im @ enthalten isout
Tabelle. Ich hätte gerne alle möglichen Kombinationen insum.dt
, und wenn die Kombination nicht in der Quelltabelle vorkommt, sollte sie sich zu 0 summieren, was bedeutet, dass die SpalteV1
sollte in dieser Zeile 0 sein.
Hast du eine Idee, wie ich das erreichen könnte?