我正在计算Chi2检验以检查两个类别变量之间是否存在相关性。之后,我还要检查哪些标准化的皮尔逊残差(可以从chisq.test()中提取)变得很重要,以找到局部差异。我的目标是为每个具有显着意义的单元格值获取一个带有相应类别标签的向量。这是示例代码:
set.seed(43)
A <- sample(c("small", "med", "large"), 200, replace = T)
B <- sample(c("x", "y", "z"), 200, replace = T, prob = c(0.7, 0.15, 0.15))
chisq_table <- table(A,B)
chisq_result <- chisq.test(chisq_table)
stdres <- chisq_result$stdre
alpha <- 0.05
# get critical upper and lower z-value
upper_z <- qnorm(1-alpha/2)
lower_z <- qnorm(alpha/2)
testResiduals <- function(residual){
if (residual < lower_z){
return(TRUE)
} else if(residual > upper_z){
return(TRUE)
} else {
return(FALSE)
}
}
posthoc_result <- sapply(stdres,FUN=testResiduals)
posthoc_result
posthoc_result 将返回逻辑向量,并且您可以看到两个变量的一种组合变得很重要。我想知道是哪种组合。所以最好是我想得到一个向量,例如> ificant_residuals:“ x和中”
P.S:我知道chisq.test()不会变得很重要,在这种情况下,不适合解释pearson标准化残差。我也知道,在测试残差的显着性时最好也校正Alpha水平。我省略了那些“统计问题”以提高可读性。