问题描述
我正在尝试将.txt文件中的方程式加载到R函数中。这些方程很长,但为简单起见,我的test.txt文件仅包含+ b。
equation <- function(a,b) {
data <- read.delim("test.txt",header = F,col.names="equation",strip.white=F)
return (data$equation)
}
equation(1,1)
我尝试了上面的代码,其结果应为2(1 + 1),但数据已作为因子加载,因此无法破解如何将其解析为属性。
解决方法
使用eval(parse())
:
equation <- function(a,b) {
data <- readr::read_file("test.txt")
return( eval(parse(text = data) ))
}
equation(4,5)
[1] 9
,
使用readLines
。
eq <- function(a,b) eval(parse(text=readLines("equ.txt")))
eq(1,1)
# [1] 2