关于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
相关产品推荐
相关产品推荐

