我正在尝试模拟R中的pvalues。我正在模拟20,000个测试统计数据,一些来自中心T分布,然后来自非中心T分布。我循环遍历各种pi0值,这些值表示来自中央T分布的测试统计的比例。
然而,当我遍历这个pi0向量时,它的长度并不总是20,000。代码附后。所有输出应该是20,000,尽管一些指数导致19,999。我为什么遇到这个问题?
提前致谢。这是代码:
## Proportion from central T
pi0vec = c(0.05,0.10,0.20,0.30,0.40,0.50,0.60,0.70,0.80,0.85,0.90,0.95,0.975,0.99)
## Looping through pi0 values
for(i in 1:length(pi0vec)){
## Specifying pi0
pi0 = pi0vec[i]
## Appropriate sample sizes
nH0 = 20000*pi0
nHa = 20000*(1-pi0)
## Generating pvalues
null.tstats = rt(n=nH0,df = 10,0)
alt.tstats = rt(n=nHa,df = 10,-5)
## Lengths not right??
print(length(null.tstats)+length(alt.tstats))
}
答案 0 :(得分:1)
出于某种原因,你需要进行回合:
nH0 = round(20000*pi0)
nHa = round(20000*(1-pi0))