我想引导两个样本 t 检验。我的DV是一些心理变量。我有两组(女性和男性),大小不等,我不假设方差相等。我不确定我的代码或/和我的想法是否正确,因为最终我得到的 0 t-statistics 大于原始数据的 t-statistics。
group_k # women: N=377
group_m # men: N=306
t.est <- t.test(group_k, group_m, var.equal=FALSE)$stat
# t
# 5.659757
nullA <- group_k - mean(group_k, na.rm=T)
nullB <- group_m - mean(group_m, na.rm=T)
set.seed(1)
b <- function(){
A <- sample(nullA, 200, replace=T) # is 200-element from 377-element sample ok?
B <- sample(nullB, 200, replace=T)
stud_test <- t.test(A, B, var.equal=FALSE)
stud_test$stat
}
t.stat.vect = vector(length=10000)
t.vect <- replicate(10000, b())
1 - mean(t.est>t.vect)
# [1] 0 :(
我还有一些问题:
- 为什么不简单地引导男女之间的差异?
- 如何选择引导样本大小?换句话说,377 和 306 元素组中的 200 元素是否可以?是否应该按照这篇文章的建议分别为 377 和 306 ?
减去均值背后的想法就在这里——gung 的回答。我认为它可以直接从 ANOVA 案例到学生 t 检验。
[更新 13XII] 我更正了我的代码,但结果对我来说仍然很尴尬:
t.est <- t.test(group_k, group_m, var.equal=FALSE)$stat
# t = 5.6598, df = 255.185, p-value = 4.066e-08
b <- function(){
A <- sample(group_k, 377, replace=T)
B <- sample(group_m, 306, replace=T)
stud_test <- t.test(A, B, var.equal=FALSE)
stud_test$stat
}
t.stat.vect = vector(length=10000)
t.vect <- replicate(10000, b())
1 - mean(t.est>t.vect)
[1] 0.5042
是否有可能使用原始样本,均值之间的差异“如此显着”(p 值 = 4.066e-08),但引导样本显示实际上不是(0.5042)?