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

关于R语言中简化Apollo有序logit模型apollo_beta定义的问询

关于Apollo有序Logit模型中apollo_beta定义方式的疑问

我正在用Apollo程序构建有序Logit模型,原本计划按如下方式定义apollo_beta:

apollo_beta = c(
  b_var1_dum1 = 0,
  b_var1_dum2 = 0,
  b_var1_dum3 = 0,
  b_var2_dum1 = 0,
  b_var2_dum2 = 0,
  b_var3_dum1 = 0,
  b_var3_dum2 = 0,
  b_var3_dum3 = 0,
  b_var3_dum3 = 0
)

由于需要构建60个不同变量组合的模型,手动编写效率极低,因此我设计了两种简化定义方式:

  • 方式1:先预定义specification1,再赋值给apollo_beta
specification1 = c(
  b_var1_dum1 = 0,
  b_var1_dum2 = 0,
  b_var1_dum3 = 0,
  b_var2_dum1 = 0,
  b_var2_dum2 = 0,
  b_var3_dum1 = 0,
  b_var3_dum2 = 0,
  b_var3_dum3 = 0,
  b_var3_dum4 = 0
)
apollo_beta = specification1
  • 方式2:按变量组分块定义后合并为specification1,再赋值给apollo_beta
var1 <- c(
  b_var1_dum1 = 0,
  b_var1_dum2 = 0,
  b_var1_dum3 = 0
)
var2 <- c(
  b_var2_dum1 = 0,
  b_var2_dum2 = 0
)
var3 <- c(
  b_var3_dum1 = 0,
  b_var3_dum2 = 0,
  b_var3_dum3 = 0,
  b_var3_dum4 = 0
)

specification1 = c(
  var1,
  var2,
  var3
)
apollo_beta = specification1

核心问题

上述三种定义apollo_beta的方式是否能达到完全相同的效果?如果不能,该如何调整代码?

附数据集

df <- data.frame(
  var1_dum1 = c(0, 1, 0),
  var1_dum2 = c(1, 0, 0),
  var1_dum3 = c(0, 0, 1),
  var2_dum1 = c(0, 1, 0),
  var2_dum2 = c(1, 0, 0),
  var3_dum1 = c(1, 1, 0),
  var3_dum2 = c(1, 0, 0),
  var3_dum3 = c(0, 1, 0),
  var3_dum4 = c(0, 0, 1)
)

注:已在Apollo中指定database = df,apollo_beta中的名称仅为后续引用方便,不直接关联数据集变量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 08:30:59