如何在R中编写一个函数来生成一个随机变量,该变量返回一个beta分布式变量,输入以下数据alpha = .123, beta = 2.77
和runif
(以生成0到1之间均匀分布的数字) ?
我只想在括号内键入一个数字,并在分布42 * rbeta(runif, alpha, beta)
之后使用给定的分布获得此类数量的变量。
答案 0 :(得分:0)
所以我认为你的意思是如何从这个函数和变量创建一个函数,你传递一个反映上面定义的alpha和beta的特定值的数字,这是一个简单的方法:
betaFunction <- function(n){
a = .123
b = 2.77
x = rbeta(n, b, a)
return(x)
}
betaData <- betaFunction(17)
[1] 1.0000000 0.8376054 0.9741555 0.9999962 1.0000000 0.9953391
[7] 0.6217407 0.9661690 0.9961457 0.8209120 0.8538891 0.9146376
[13] 0.9781314 1.0000000 0.9999437 0.9737847 0.9999995