Импортировать уравнение из текстового файла в функцию R
Я пытаюсь загрузить уравнение из файла.txt в функцию R. Уравнения очень длинные, но для простоты мой файл test.txt содержит только a + 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), но данные загружаются как фактор, и я не могу взломать, как проанализировать их как атрибуты.
2 ответа
Решение
С помощью
readLines
.
eq <- function(a, b) eval(parse(text=readLines("equ.txt")))
eq(1, 1)
# [1] 2
Использовать
eval(parse())
:
equation <- function(a,b) {
data <- readr::read_file("test.txt")
return( eval(parse(text = data) ))
}
equation(4,5)
[1] 9