как пробовать распределения, учитывая n, имя распределения и параметры в фрейме данных?

У меня есть фрейм данных:

priors <- data.frame(dist = c('lnorm', 'beta', 'gamma'),
                      a   = c(0.5, 1, 10),
                      b   = c(0.4, 25, 4),
                      n   = c(100, 100, 100)
                     )

, и я хотел бы взять n образцов из распределения с параметрами a и b.

Я написал эту функцию:

pr.samp <- function(n,dist,a,b) {eval (parse ( 
                    text = 
                    paste("r",dist,"(",n,",",a,",",b,")",sep = "")
                    ))}

Я хотел бы знать:

  1. есть ли лучший подход?
  2. как мне использовать одну из функций apply, чтобы запускать это в каждой строке?
  3. нужно ли для этого преобразовать фрейм данных в матрицу?

Спасибо за advance!

1
задан David LeBauer 1 October 2010 в 21:54
поделиться