【发布时间】:2020-05-25 16:25:30
【问题描述】:
显然我太愚蠢了,无法输入正确的搜索词,b/c 我认为我的问题根本不是唯一的。
如何在data.table的i部分通过字符串引用变量? with 和 ..x 都适用于 j 部分,但 i 部分中的等价物是什么?我必须使用邪恶的eval(双关语;)
library(data.table)
dt <- data.table(x = 1:4, y = 4:1)
my_filter_fun <- function(var = names(dt)) {
var <- match.arg(var)
dt[eval(parse(text = paste(var, "== 1")))]
}
my_filter_fun("x")
my_filter_fun("y")
data.table 的惯用方式是什么?来自dplyr 我想我正在寻找data.table 的等价物?
额外问题:我如何实现my_filter_fun 这样的调用
my_filter_fun(x > 1)
将返回与
相同的结果dt[x > 1]
【问题讨论】:
-
哇,很好的阅读。完全沉浸在该帖子的所有链接中。它也回答了我的很多其他问题,也回答了我还没有回答的问题:) +1
标签: r data.table