矢量长度错误

时间:2016-12-02 17:01:11

标签: r vector simulation p-value

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

1 个答案:

答案 0 :(得分:1)

出于某种原因,你需要进行回合:

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