【发布时间】:2021-01-09 03:34:26
【问题描述】:
我有一个关于将变量作为输入的 data.table 语法的问题。 举个例子,我使用的是 data.table intro (https://cran.r-project.org/web/packages/data.table/vignettes/datatable-intro.html) 使用的标准数据集。
input <- if (file.exists("flights14.csv")) {
"flights14.csv"
} else {
"https://raw.githubusercontent.com/Rdatatable/data.table/master/vignettes/flights14.csv"
}
flights <- fread(input)
变量作为输入的使用非常简短,但没有达到我需要的程度。如何从 data.table 介绍中获取(稍作修改)示例
ans <- flights[carrier == "AA" & month == 6L,
.(mean(arr_delay), mean(dep_delay)),
by = .(origin, dest, month)]
ans
完全带有任意变量,例如
var1 = c("carrier", "month")
var2 = c("AA",6L)
var3 = c(mean,mean)
var4 = c("arr_delay", "dep_delay")
var5 = c("origin","dest","month")
?
我想获得与ans 相同的输出,但结果应仅取决于var1 到var5 以及by、.() 或== 等运算符。
我一直在尝试使用..vari 或with=F 甚至get(vari) 的各种组合,但没有得到我想要的结果。
【问题讨论】:
-
你可能想安装这个开发分支,旨在让你的用例更容易:github.com/Rdatatable/data.table/pull/4304
-
感谢您的链接,看起来很有希望,我希望它很快就会被添加到 master 中。
-
随意尝试并添加反馈!
标签: r data.table