我正在尝试将字符串转换为实数方程。例如:我当前的字符串是
> 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/