r - 如何将字符串解析为真正的等式

我正在尝试将字符串转换为实数方程。例如:我当前的字符串是

> a<-"y = 31.563 + 5.923*x1 + 5.061*x2 - 0.662*x3 - 0.381*x4"
> class(a)
[1] "character"

现在,我有一个新的数据集:

x1=3 
x2=3
x3=4
x4=7
df_new = data.frame(x1,x2,x3,x4)

我想根据等式得到 y 的值。所以我需要将该字符串转换为实数方程。有人知道怎么做吗?

最佳答案

这可能不是最好的方法,但是eval(parse(...)) 会起作用:

a <- "y = 31.563 + 5.923*x1 + 5.061*x2 - 0.662*x3 - 0.381*x4"
df_new <- data.frame(x1=3,x2=3,x3=4,x4=7)
eval(parse(text=gsub("y =","",a)),df_new)

我不太确定如何从 eval() 获取返回值,所以我去掉了 y= 部分 ...

https://stackoverflow.com/questions/37401132/

相关文章:

windows - 如何在命令提示符下查看我的 SYSTEM 环境变量?

bash - 防止 sed 创建临时文件

haskell - 如何修改或读取作为函数参数传递的可变向量?

mongodb - 使用 mongo shell 更改 mongodb 中的文档结构

oracle - 为什么我不能使用 SQLcl 通过 jdbc 连接

r - 在 R 中转换日期格式

r - 获取r中具有最大日期的所有相应行

c# - 门面模式中的门面类是否需要是静态的?

angular - PrimeNG 不适用于 angular2 cli?

python - Pandas 两行具有相同的索引,如何更改它们