Calcular la suma de una lista de variables por grupo

Tengo una tabla de datos con una clave y aproximadamente 100 filas numéricas, una de las cuales está configurada como clave. Me gustaría crear una nueva variable que contenga la suma de cada fila numérica, agrupada por clave.

Por ejemplo, mis datos en este momento es

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

Lo que me gustaría tener es:

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

He intentado tantas maneras de conseguir esto. Sé que puedo hacer:

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

Sin embargo, tengo cientos de variables y solo obtengo sus nombres en una lista. ¿Cómo debo manejar esto?

Muchas gracias por tu ayuda.

Aquí hay un código para generar datos de prueba:

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)

Respuestas a la pregunta(2)

Su respuesta a la pregunta