如何在 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)
我想生成 a
和 b
指定次数,每次执行 t.test
比较 a
的平均值和 b
t.test(a, b, paired = FALSE)
我如何编码重复 rnorm
和 t.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
参数来保留每个 运行.
的列表结构
使用 R, 我有两个向量 a 和 b:
a <- rnorm(3, mean = 6, sd = 2)
b <- rnorm(3, mean = 8, sd = 2)
我想生成 a
和 b
指定次数,每次执行 t.test
比较 a
的平均值和 b
t.test(a, b, paired = FALSE)
我如何编码重复 rnorm
和 t.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
参数来保留每个 运行.