如何将R语言chisq.test()卡方拟合优度检验输出保存为向量
R中提取
chisq.test()结果拼接为向量的方法 chisq.test()返回的是htest类型的列表对象,你可以直接提取对应字段拼接为你需要的向量格式,具体操作如下:
操作步骤
- 先运行卡方拟合优度检验,将结果存入变量
# 示例卡方拟合优度检验,obs为观测频数,p为期望概率 obs <- c(12,15,18,9) expected_p <- c(0.25,0.25,0.25,0.25) res <- chisq.test(x = obs, p = expected_p)
- 提取所需字段拼接为向量
你需要的三个指标对应返回对象的三个字段:
- 卡方统计量:
res$statistic - 自由度:
res$parameter - p值:
res$p.value
拼接代码:
test <- c(res$statistic, res$parameter, res$p.value) # 可选:给向量添加名称方便识别 names(test) <- c("X-squared", "df", "p-value")
拼接完成后打印test就能得到你需要的格式:
X-squared df p-value 3.1111111 3.0000000 0.3747713
快捷写法
如果不需要留存完整的检验结果,可以直接一步生成目标向量:
test <- with(chisq.test(x = c(12,15,18,9), p = c(0.25,0.25,0.25,0.25)), c(statistic, parameter, p.value)) names(test) <- c("X-squared", "df", "p-value")
内容的提问来源于stack exchange,提问作者Mikhail
相关产品推荐
相关产品推荐

