Импортировать уравнение из текстового файла в функцию 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
Другие вопросы по тегам