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

问题描述 投票:1回答:3

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

r windows variables text command
3个回答
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
投票
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 

0
投票

可以立即使用quoteeval它E.g,

my_list <- c(quote(A+B<=C), quote(B==A))
eval(my_list[[1]])
© www.soinside.com 2019 - 2024. All rights reserved.