Korzystając z pakietu data.table, można podsumować zachowując kombinacje zmiennych, które nie pojawiają się na wejściu?Jak zachować kombinacje zmiennych, które nie pojawiają się w danych wejściowych podczas grupowania za pomocą data.table?
Z plyr pakietu wiem, jak to zrobić z argumentem .drop, na przykład:
require(plyr)
df <- data.frame(categories = c(rep("A",3), rep("B",3), rep("C",3)), groups = c(rep(c("X", "Y"),4), "Z"), values = rep(1, 9))
df1 <- ddply(df, c("categories","groups"), .drop = F, summarise, sum = sum(values))
wyjściowa:
categories groups sum
1 A X 2
2 A Y 1
3 A Z 0
4 B X 1
5 B Y 2
6 B Z 0
7 C X 1
8 C Y 1
9 C Z 1
W tym przypadku zachować wszystkie grupy/kategorie kombinacje, nawet jeśli jego suma wynosi 0.