Я действительно ценю скорость пакета data.table, но я не смог понять, как добавить суффикс к функциям сводки.Пакет dplyr делает это прекрасно из коробки, и я надеюсь, что это возможно в data.table.Вот воспроизводимый пример.
library(data.table)
library(datasets)
library(dplyr)
data(iris)
iris_dt = as.data.table(iris)
#Using dplyr
summary_stats <- iris %>%
group_by(Species) %>%
summarise_all(funs(mean(., na.rm = TRUE),sd(.,na.rm=TRUE)))
#Using data table
cols = sapply(iris_dt, is.numeric)
iris_dt[, lapply(.SD, mean), .SDcols = cols]
names(summary_stats)
[1] "Species" "Sepal.Length_mean" "Sepal.Width_mean" "Petal.Length_mean" "Petal.Width_mean" "Sepal.Length_sd"
[7] "Sepal.Width_sd" "Petal.Length_sd" "Petal.Width_sd"
names(iris_dt)
[1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species"
Как видите, используя dplyr и несколько функций суммирования, суффикс добавляется автоматически.Это очень полезно для меня, но довольно медленно для больших наборов данных.
Можем ли мы сделать то же самое с data.table?Суммируйте все числовые столбцы с помощью различных функций суммирования и добавьте правильный суффикс к выводу?