r - 将整个 data.table 传递给 j 表达式
问题描述
我想将所有列用作j
分组 data.table 上表达式中的对象(就像 tidyverse 的group_modify
函数一样)。
到目前为止,我通过以下方式实现了这一点:
dt[, some_function(data.table(.SD)), some_column, .SDcols = colnames(dt)]
但这感觉很笨拙,还有另一种(更简单)的方法吗?
解决方案
似乎包中没有任何函数可以呈现这种行为。使代码更具可读性(至少对我而言)的方法是创建一个包装函数并使用它:
temp_fun <- function(f, ...) {
f(as.data.table(list(...)))
}
dt[, temp_fun(some_function, .SD), some_column]
推荐阅读
- selenium - 如何在 chromedriver 中禁用“navigator.webdriver”?
- filter - 无法在ansible中的单引号之间添加单引号
- sql - 是否可以从视图构建一个 ssas 立方体?
- javascript - 为什么我的 YouTube React 组件会在播放下一个视频之前触发两次 PlayerState.ENDED 事件?
- mysql - 删除具有特定名称前缀的所有表
- java - 在运行时重新加载 CDI 上下文
- flutter - 如何使内容对齐,Flutter 零底部
- api - 您已超出此 API 问题的每日请求配额
- matlab - 使用matlab进行优化 -particlewarm / 遗传算法
- asp.net - 如何修复“ObjectContext 实例已被处置”