将整个 data.table 传递给 j 表达式

时间:2021-01-26 14:51:47

标签: r data.table

我想将所有列用作分组 data.table 上的 j 表达式中的对象(就像 tidyverse 的 group_modify 函数一样)。

到目前为止,我是通过以下方式完成的:

dt[, some_function(data.table(.SD)), some_column, .SDcols = colnames(dt)]

但这感觉很笨重,有没有其他(更简单的)方法来做到这一点?

1 个答案:

答案 0 :(得分:0)

包中似乎没有任何函数显示此行为。使代码更具可读性(至少对我而言)的方法是创建一个包装函数并使用它:

temp_fun <- function(f, ...) {
  f(as.data.table(list(...)))
}

dt[, temp_fun(some_function, .SD), some_column]

相关问题