书中在page54有说利用(3.8)和(3.10),但是不知道如何写积分上下线,尝试着用R写了code,但是结果跑出来是:错误于uniroot(R, c(0.01, 10000), tol = 1e-04) : 位于极点边的f()值之正负号不相反
觉得自己积分线还是有问题,(3.8)式期望值有正有负,该如何处理?希望高手指点。
- library(mvtnorm)
- R <- function (r)
- {
- alpha=0.05
- beta=0.2
- z2=1.977
- z1=sqrt(2)*z2
- ez1=(qnorm(1-alpha)+qnorm(1-beta))*sqrt(1/2*r)
- ez2=(qnorm(1-alpha)+qnorm(1-beta))*sqrt(r)
- lower1=c(ez1-z1,ez2-z2)
- upper1=c(Inf,Inf)
- lower2=c(-Inf,-Inf)
- upper2=c(z1-ez1,z2-ez2)
- arho=sqrt(1/2)
- corr=matrix(c(1,arho,arho,1),2)
- alpha=0.05
- pmvnorm(lower=lower2,upper=upper2,mean=c(0,0),corr)[1]+
- pmvnorm(lower=lower1,upper=upper1,mean=c(0,0),corr)[1]
- -2+beta
- }
- rr=uniroot(R,c(0.01,10000), tol = 0.0001)$root



雷达卡



京公网安备 11010802022788号







