Совершенно новый для R, я пытаюсь найти ответы на этот вопрос, но, возможно, я не уверен, как сформулировать вопрос, так что извините, если это было задано ранее.
Я бы хотел разместить список функций / моделей для данных в цикле for, а не выполнять каждую из них вручную. Для этого мне нужно указать модель в alist
, перечислить следующее:
flist <- alist(y ~ dnorm(mu, sigma),
mu <- a + b*x, # need to replace this line with general function
a ~ dnorm(0, 100),
b ~ dnorm(0, 10),
sigma ~ dunif(0, 10)
)
Чтобы сделать это в цикле for, мне понадобится заменить a + b*x
телом некоторой функции, выбранной во время выполнения. Вот я и подумал сделать это:
flist <- alist(y ~ dnorm(mu, sigma),
mu <- body(function[i]),
a ~ dnorm(0, 100),
b ~ dnorm(0, 10),
sigma ~ dunif(0, 10)
)
Однако, похоже, что alist на самом деле не оценивает body(function[i])
, что, похоже, является частью точки alist
. Есть ли способ вывести тело во время выполнения?
По сути, я хочу, чтобы часть выражения в alist была оценена (тело (...)), но не все (сохраняя оператор ~ / <- неоцененным). </p>
Возможно ли это сделать с помощью parse
?