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

R语言提取月度性别频次子表报错,寻求解决方案

解决方案

1. 解决「object 'Dados_Procesados' not found」报错

R是大小写敏感的编程语言:你生成频次表时用的对象名是Dados_procesados(小写字母p),但提取子表时写成了Dados_Procesados(大写字母P),两者是完全不同的对象,这是报错的核心原因。请统一使用正确的对象名。

2. 提取一月频次表的两种方法

方法一:从原始数据框生成

如果原始数据框Dados_procesados存在,先筛选一月的数据,再生成交叉表:

# 筛选一月数据(注意Mes的取值是字符串,必须加引号)
Jan_dados <- Dados_procesados[Dados_procesados$Mes == "Janeiro", ]
# 生成一月性别频次表
FreqJan <- table(Jan_dados$Mes, Jan_dados$Sexo)

方法二:直接从已有的FreqAnual表提取

既然你已经生成了年度频次表FreqAnual,可以直接提取行名为Janeiro的行,无需再操作原始数据:

# 提取一月的频次行,drop=FALSE保留表格格式
FreqJan <- FreqAnual["Janeiro", , drop = FALSE]

执行后会得到你需要的格式:

Fêmea Macho
Janeiro      6     4

3. 进行月度G检验分析性别比差异

可以使用DescTools包的GTest函数完成检验:

# 安装包(仅第一次使用时需要)
install.packages("DescTools")
# 加载包
library(DescTools)
# 对一月频次表执行G检验
g_result <- GTest(FreqJan)
# 查看检验结果
print(g_result)
  • 若结果中的p值 < 0.05,说明一月的性别比存在显著差异;反之则无显著差异。

额外检查

如果确认对象名正确后仍报错,可通过以下命令确认原始数据框是否存在:

# 查看当前环境所有对象
ls()
# 检查Dados_procesados是否存在
exists("Dados_procesados")

若不存在,需重新确认Excel数据的导入步骤是否正确(比如用readxl::read_excel()导入后正确赋值给Dados_procesados)。

内容的提问来源于stack exchange,提问作者Juan C. Franco

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 16:25:21