如何在 R 中编写循环以对两组随机生成的值执行多次统计测试

How to write a loop in R to perform a statistical test multiple times on two sets of randomly generated values

使用 R, 我有两个向量 a 和 b:

a <- rnorm(3, mean = 6, sd = 2)
b <- rnorm(3, mean = 8, sd = 2)

我想生成 ab 指定次数,每次执行 t.test 比较 a 的平均值和 b

t.test(a, b, paired = FALSE)

我如何编码重复 rnormt.test 函数指定的次数并检索 t.test()p.value[= 的完整输出21=]

扩展您的评论:

pvals <- replicate(20, t.test(rnorm(3, mean = 6, sd = 2), rnorm(3, mean = 8, sd = 2))$p.value)
sum(pvals < .05)
# [1] 2
hist(pvals)

获取所有结果

results <- replicate(20, t.test(rnorm(3, mean = 6, sd = 2), rnorm(3, mean = 8, sd = 2)), simplify=FALSE)
results[[1]]
# 
#   Welch Two Sample t-test
# 
# data:  rnorm(3, mean = 6, sd = 2) and rnorm(3, mean = 8, sd = 2)
# t = 0.052882, df = 2.6225, p-value = 0.9616
# alternative hypothesis: true difference in means is not equal to 0
# 95 percent confidence interval:
#  -8.880021  9.155836
# sample estimates:
# mean of x mean of y 
#  7.156974  7.019067 

其他结果为结果[[2]], . . . ,结果[[20]]。需要 simplify=FALSE 参数来保留每个 运行.

的列表结构