如何在R中重新划分有序logistic回归模型中的因子?
我目前正在研究R的有序逻辑回归模型。输出系数使用相同的参考水平。我想知道如何更改参考级别?更具体地说,请参见下面的示例。我不想使用真实的数据,所以我模拟了一个。a和T都是从1到5如何在R中重新划分有序logistic回归模型中的因子?,r,statistics,regression,R,Statistics,Regression,我目前正在研究R的有序逻辑回归模型。输出系数使用相同的参考水平。我想知道如何更改参考级别?更具体地说,请参见下面的示例。我不想使用真实的数据,所以我模拟了一个。a和T都是从1到5 polr(formula = T ~ a, data = d, Hess = TRUE) Coefficients: Value Std. Error t value a2 0.18823 0.5734 0.32825 a3 0.14747 0.5287 0.27895 a4 -
polr(formula = T ~ a, data = d, Hess = TRUE)
Coefficients:
Value Std. Error t value
a2 0.18823 0.5734 0.32825
a3 0.14747 0.5287 0.27895
a4 -0.50157 0.5766 -0.86985
a5 0.02843 0.5448 0.05219
“a”的系数使用参考等级1、a2、a3、a4和a5,基本上将等级2、3、4、5与参考等级1进行比较。我的问题是如何重新调整它,使输出自动给出a3 | 2、a4 | 3、a5 | 4(即beta3-beta2、beta4-beta3)?我四处搜索,没有发现类似的问题。非常感谢 我认为您需要来自MASS包的
控制sdif
功能:来自?控制sdif
选择对比系数,以便编码
单向布局中的系数是
第二级和第一级、第三级和第二级、,
等等这对于有序因子最有意义,但确实如此
不要假设标高的间距相等
因此:
库(MASS)
对比度(d$a)一个非常快速且肮脏的方法是重命名变量。a1是您的基线,因为按字母顺序,a1MASS::contr.sdif()
的可能重复项符合您的要求。因此,在运行polr
命令之前,对比度(d$a)=MASS::contr.sdif(5)。@MichaelChirico:问题中概述的对比度不只是为治疗对比度设置不同的参考水平,这不是重复。我尝试了公式中的参数,但它给出了以下错误。变量“(对比度)”的类型(列表)无效
library(MASS)
contrasts(d$a) <- contr.sdif(5) # set contrasts: from @Marius in comments
polr(formula = T ~ a, data = d, Hess = TRUE)