gpt4 book ai didi

r - data.table:i 中逻辑条件的馈送列表

转载 作者:行者123 更新时间:2023-12-02 03:01:36 25 4
gpt4 key购买 nike

我必须编写一个长脚本(称之为脚本)在 data.table 上执行各种操作,然后对不同的行子集应用几次。我希望能够执行以下操作:

condition <- "X>10"
source(Script)

...其中脚本将包含以下许多内容:

dt[MAGIC(condition), .......]

这将允许我将脚本和条件保存在不同的文件中(第二个是仅显示结果的 Markdown ,我希望在代码方面尽可能简单)。

我不想要的是为每个条件复制粘贴脚本,然后手动更改它,因为这太容易出错了。

我尝试了很多 parse、deparse、substitute、quote、as.expression、as.logical 等的组合,但我似乎在黑暗中摇摇欲坠。如果有人能提供帮助,我将不胜感激!

注意:我可以在 dplyr 中轻松完成上述操作:

df %>% filter_(condition)

当然我也可以把它变回 data.table

df %>% filter_(condition) %>% data.table()

...但我宁愿始终如一地使用 data.table(更快,更喜欢语法等)

最佳答案

我们使用eval(parse

setdT(dt)[eval(parse(text=condition))]

关于r - data.table:i 中逻辑条件的馈送列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45617912/

25 4 0