我需要找到一种方法让R"输入"在控制台中调用它时的某个文本字符串。
我们说我有一个包含许多行的列表。每行包含表示计算规则的文本(在读取时可以处理的格式)。
A <- 25
B <- 15
C <- 50
A,B和C是如上所示的定义变量。
my_list <- data.frame(c("{A}+{B}<={C}","{B}={A}"))
我的列表包含一些规则,我想打印并检查一个命令。 输入
my_list[1,]
我想检查A + B是否确实低于或等于C.
我搜索一个结果为TRUE的函数。 有人可以帮忙吗? 感谢您的支持。 S上。
答案 0 :(得分:1)
我们使用{}
移除gsub
,然后执行eval(parse
sapply(gsub("[{}]", "", my_list[[1]]), function(x) eval(parse(text=x)))
# A+B<=C B==A
# TRUE FALSE
这里我们假设在第二次比较中它是B==A
答案 1 :(得分:1)
require(glue)
require(magrittr)
A <- 25
B <- 15
C <- 50
c("{A}+{B}<={C}","{B}=={A}") %>%
sapply(evaluate, parent.frame())
#{A}+{B}<={C} {B}=={A}
# TRUE FALSE
答案 2 :(得分:0)
可以立即使用quote
,然后使用eval
E.g,
my_list <- c(quote(A+B<=C), quote(B==A))
eval(my_list[[1]])