eval()
обычно не очень полезен. Одна из немногих вещей, которые я использовал для этого (ну, на самом деле это был exec()
, но это довольно похоже) позволял пользователю сценарию приложения, которое я написал в Python. Если бы он был написан как нечто вроде C ++, мне пришлось бы внедрить интерпретатор Python в приложение.
Как всегда в ggplot, вы хотите создать data.frame со всеми данными, которые должны быть нанесены на график:
d <- data.frame(
alpha_post = alpha_post,
beta_post = beta_post,
X_lim = rep(seq(from = -3,to = 2,by=.01), each = length(alpha_post))
)
d$y <- with(d, exp(alpha_post + beta_post * X_lim) / (1 + exp(alpha_post + beta_post * X_lim)))
Тогда само построение становится довольно простым:
ggplot(d, aes(X_lim, y, group = alpha_post)) + geom_line()
[119 ]
Если вы хотите быть более модным, добавьте итоговую строку, например: среднее значение:
ggplot(d, aes(X_lim, y)) +
geom_line(aes(group = alpha_post), alpha = 0.3) +
geom_line(size = 1, color = 'firebrick', stat = 'summary', fun.y = 'mean')