R:将文本字符串转换为命令

时间:2018-03-06 13:40:03

标签: r windows variables text command

我需要找到一种方法让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上。

3 个答案:

答案 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]])