矢量长度错误

Error in Vector Length

我正在尝试在 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))
}

由于某些原因您需要四舍五入:

 nH0 = round(20000*pi0)
 nHa = round(20000*(1-pi0))