R:如何在给定概率的情况下编写采样函数
我写了一个函数R:如何在给定概率的情况下编写采样函数,r,sapply,R,Sapply,我写了一个函数 p = c(0.4, 0.6) myfun = function(p){ sample(1:2, 1, replace = TRUE, prob = p) } 我想重复5次 sapply(1:5, myfun) 但这给了我一个错误 sample.intlengthx中出错,大小,替换,问题:不正确 概率数 您可以使用replicate编写函数 您可以使用sample函数对5个值进行采样 p <- c(0.4, 0.6) sample(1:2, 5, replac
p = c(0.4, 0.6)
myfun = function(p){
sample(1:2, 1, replace = TRUE, prob = p)
}
我想重复5次
sapply(1:5, myfun)
但这给了我一个错误
sample.intlengthx中出错,大小,替换,问题:不正确
概率数
您可以使用replicate编写函数 您可以使用sample函数对5个值进行采样
p <- c(0.4, 0.6)
sample(1:2, 5, replace = TRUE, prob = p)
# [1] 2 2 2 2 1
也许你想从1:2开始取样?否则prob的长度必须为10…啊,是的。很抱歉我想从1:2取样,但我仍然得到相同的错误。在你的案例中没有使用replicate5,sample2,replace=TRUE,prob=c0.4,0.6p。Sapply每次都会给myfun提供1到5个。所以如果我想用sapply来做这个,我试着用sapply 1:5,我的Funp,但这也不行。
p <- c(0.4, 0.6)
sample(1:2, 5, replace = TRUE, prob = p)
# [1] 2 2 2 2 1