我有一个数据框:
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)
)
我想用参数a和b从分布中抽取n个样本。
我写了这个函数:
pr.samp <- function(n,dist,a,b) {eval (parse (
text =
paste("r",dist,"(",n,",",a,",",b,")",sep = "")
))}
我想知道:
- 有更好的方法吗?
- 我将如何使用其中一个应用函数在每一行上运行它?
- 我是否必须将数据框转换为矩阵才能做到这一点?
提前致谢!