Berechnen Sie die Summe einer Liste von Variablen nach Gruppe

Ich habe eine Datentabelle mit einem Schlüssel und ungefähr 100 numerischen Zeilen, von denen eine auf Schlüssel gesetzt ist. Ich möchte eine neue Variable erstellen, die die Summe aller numerischen Zeilen enthält, die nach Schlüsseln gruppiert sind.

Zum Beispiel sind meine Daten im Moment

ID Count1 Count2 Count3
1   1      3      0
1   3      3      3
2   1      2      1
3   1      1      2

Was ich gerne hätte, ist:

ID Count1 Count2 Count3
1   4      6      3
2   1      2      1
3   1      1      2

Ich habe so viele Möglichkeiten ausprobiert, dies zu erreichen. Ich weiß, dass ich Folgendes kann:

Y <- X[, list(Count=sum(Count1), Count2=sum(Count2), Count3=sum(Count3), by = ID]

Ich habe jedoch Hunderte von Variablen, und ich bekomme nur ihre Namen auf einer Liste. Wie soll ich damit umgehen?

Vielen dank für Deine Hilfe.

Hier ist ein Code zum Generieren von Testdaten:

ID <-c(rep(210, 9), rep(3917,6))
Count1 <- c(1,1,0,1,3,1,4,1,1,1,1,1,1,0,1)
Count2 <- c(1,0,0,1,0,1,0,1,1,1,1,1,1,0,1)
Count3 <- c(1,0,0,1,0,1,0,1,1,1,1,1,1,0,1)
x <- data.table(ID, Count1, Count2, Count3)
setkey(x, ID)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage