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

如何解决R语言中Probit回归的unexpected ')'报错问题

解决Probit回归的语法错误与边际效应计算

先修复代码中的语法错误

你的代码有两个核心问题导致Error: unexpected ')':

  • family=b"是不完整的语法,Probit回归需要指定binomial族并设置链接函数为probit,正确写法是family = binomial(link = "probit")
  • 自变量中重复四次Edu_level,这会引发完全共线性,模型无法正常估计。如果Edu_level是连续变量,只需保留一次;如果是分类变量,应转为因子(factor(Edu_level))或生成对应的哑变量(不要重复原变量)

修正后的代码示例:

# 假设Edu_level是连续变量,保留一次;如果是分类变量,替换为factor(Edu_level)
probreg <- glm(
  Adapt ~ Location + Gender + FGM + LO + FT + 
    Edu_level + Credit_Accs + Clim_Info + Ext_Service + HCFI + 
    HCFI3dum + HCFI4dum, 
  data = data,
  family = binomial(link = "probit")
)

# 查看回归结果
summary(probreg)

计算自变量对因变量的边际效应

Probit回归的系数是对数概率尺度的,直接解释性差,通常需要计算边际效应(即自变量每变化一个单位,因变量发生概率的变化量)。可以用margins包实现:

  1. 安装并加载包:
install.packages("margins")
library(margins)
  1. 计算并展示边际效应:
# 计算平均边际效应(AME)
marg_eff <- margins(probreg)
# 查看结果
summary(marg_eff)

# 如果想计算特定取值下的边际效应(比如自变量取均值时)
marg_eff_at_mean <- margins(probreg, at = list(Edu_level = mean(data$Edu_level, na.rm = TRUE)))
summary(marg_eff_at_mean)

内容的提问来源于stack exchange,提问作者Mamadee M. Kamara

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 20:24:31