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

为什么我用R生成列联表时出现冗余空白行和“Any”列?

问题原因

出现空白行和Any冗余列的核心原因有两个:

  • 你代码中加载的数据集和你预期的来源不一致:你需要的是openintro包的loans_full_schema,但实际加载的是oibiostat包的同名数据集。两个包的该数据集对字段的因子水平定义存在差异:oibiostat版本的homeownership字段预设了ANY这个因子水平,application_type字段也预设了空白的因子水平。
  • R的table()函数默认会保留因子的所有预设水平,哪怕对应水平没有实际观测值,也会在列联表中生成对应的空行/空列。

解决方法

方案1:使用匹配需求的openintro包数据集

# 未安装包先执行:install.packages("openintro")
library(openintro)
data("loans_full_schema")
tab <- table(loans_full_schema$application_type, loans_full_schema$homeownership)
tab

运行以上代码就能得到你预期的列联表效果。

方案2:如果要继续使用oibiostat包的数据集,先清理未使用的因子水平

library(oibiostat)
data("loans_full_schema")
# 移除目标字段的未使用因子水平
loans_full_schema$application_type <- droplevels(loans_full_schema$application_type)
loans_full_schema$homeownership <- droplevels(loans_full_schema$homeownership)
tab <- table(loans_full_schema$application_type, loans_full_schema$homeownership)
tab

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 01:06:03