R:复制样本向量而不只是样本

R: Replicate Vector of Sample Instead of Just a Sample

我想使用 R10 的样本量做我做的事情,对样本集做同样的事情

我有什么 我得到了下面的 R 复制 Shapiro 正态性测试的代码

sim = replicate(1000,shapiro.test(rnorm(10)))
## rejections go like, assuming an alpha of 0.05 :
table(sim["p.value",] < 0.05)

假设 alpha 为 0.05,拒绝结果如下:

错误 正确
948 52

我想要的

我不想只对 10 的样本量进行计数测试,而是希望它在样本向量(例如 (10, 20,50, 100))上进行,结果如下:

. 错误 正确
10 948 52
20 970 30
50 956 44
100 944 36

使用循环 - sapply 并在 rnorm

中传递这些值
out <- t(sapply(c(10, 20, 50, 100), function(x) 
    table(replicate(1000, shapiro.test(rnorm(x)))["p.value",] < 0.05)))
row.names(out) <- c(10, 20, 50, 100)

-输出

out
    FALSE TRUE
10    953   47
20    942   58
50    960   40
100   951   49