You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对数据框列表中的每个数据框应用chisq.test独立性检验

报错原因

你拆分得到的每个子数据框仍保留了UC字符型列,而chisq.test()直接接收列联表输入时,要求输入对象的所有元素都是非负有限数值,字符列的存在触发了校验报错。

解决方法

你只需要在调用卡方检验时,筛选出每个子数据框中用于计算的两个数值列即可,修改后的代码如下:

# 原有拆分逻辑不变
my_data <- split(my_data, my_data$UC)

# 应用卡方检验时仅保留数值列
chi_result <- lapply(my_data, function(x) {
  # 筛选掉UC列,仅保留两个频数列用于计算
  chisq.test(x[, c("Fr_term", "Fr_other_terms")])
})

# 查看所有分组的卡方检验结果
chi_result

如果出现tibble结构兼容问题,可以将筛选后的列转为矩阵后再传入函数:

chi_result <- lapply(my_data, function(x) {
  chisq.test(as.matrix(x[, c("Fr_term", "Fr_other_terms")]))
})

内容的提问来源于stack exchange,提问作者Pauline Bureau

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 04:57:04