嗨,我正在尝试通过矢量化来加速以下 for 循环的计算,即使用sapply()
等。
但由于结构非常复杂,这似乎是一项不可能完成的任务。我已经尝试了几天,但最终没有解决方案。
任何人都可以看看如何加快以下功能?
alpha2f <- function(p0,t2,n1,n2){
alpha2=0
for (x1 in 12:n1){
for (x2 in 0:n2){
for (y2 in 0:n2){
a=dbinom(x1,n1,p0)
b=dbinom(x2,n2,p0)
alpha2=alpha2+a*b*dbinom(y2,n2,p0)*ifelse(ztest(x1+x2,y2,n1+n2,n2)>t2,1,0)
}}}
return(alpha2)
}