Я не знаю, что должен делать cats
в вашем примере. Поэтому я буду следовать заголовку вашего сообщения.
С data.table
вы можете выполнять сложные вычисления с помощью lapply
+ .SD
глаголов в одну строку:
library(data.table)
df = data.table(iris)
df[,lapply(.SD, function(x) return(c(mean(x, na.rm = TRUE), sd(x, na.rm = TRUE)))), .SDcols = colnames(df)[1]]
# Sepal.Length
# 1: 5.8433333
# 2: 0.8280661
Вы может сделать это для более чем одного столбца, если требуется