gpt4 book ai didi

r - 如何将过滤器表达式存储为字符串?

转载 作者:行者123 更新时间:2023-12-01 11:14:27 25 4
gpt4 key购买 nike

对于物种数据库的分析,我经常需要更改很多标准,具体取决于项目范围等。

由于总是在主脚本中更改标准非常不方便,我开始在 exterior parameters.R 中将各种参数定义为变量。文件将被复制到项目特定的文件夹并在那里进行调整,并将来自 main.R文件。

这很好用,但现在我开始过滤表达式,我找不到将它们作为字符串存储在我的参数文件中的方法。

标准过滤器表达式将是这个:

 rlb == "1" | rlb == "2" | rlb== "3" | rlb == "G" | rlb == "R" | rld ==
"1" | rld == "2" | rld== "3" | rld == "G" | rld == "R" | ffh2 > 1 | ffh4
== 1 | ffh5 == 1 | spa1 == 1 | sap == 1

由于 ""在某些参数中,我无法将其分配为字符串变量,因为 R 提示存在未知标记或对象。

如何将此过滤器表达式分配给变量,以便稍后使用它,例如与 eval(my_filter_variable)等执行我的过滤?

最佳答案

除了@Konrad 的方法,如果表达式是字符串,那么我们可以使用 parse_expr来自 rlang

library(rlang)
library(dplyr)
df1 %>%
filter(!! parse_expr(expr1))
# col_A col_B
#1 A 1

数据
 df1 <- data.frame(col_A = LETTERS[1:10],
col_B = 1:10,
stringsAsFactors = FALSE)

expr1 <- "col_A == 'A' & col_B == 1"

关于r - 如何将过滤器表达式存储为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54494173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com