Как заменить переменную в уравнении на другое уравнение, а затем оценить это выражение в R? - PullRequest
1 голос
/ 25 января 2020

Моя проблема довольно проста, но я не нашел решения. У меня есть уравнение у = 3 + х & х = х1 + х2; где x1 = 3 & x2 = 4. Эти уравнения взяты из текстовых файлов. Неудивительно, что я ожидаю, что у будет равно 10. Я пробовал следующее и явно не работает.

x1 <- 3
x2 <- 4
y_equation <- "3 + x"
x_equation <- "x1 + x2"
y <- parse(text = y_equation)
y <- substitute(y, list(x = parse(text = x_equation)))
eval(y)

Любая помощь очень ценится.

1 Ответ

2 голосов
/ 25 января 2020

Мы можем использовать sub, чтобы заменить 'x' в 'y_equation' на 'x_equation', а затем сделать eval

eval(parse(text = sub("x", x_equation, y_equation)))
#[1] 10
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...