我正在使用数据集进行二项式回归,其中两个自变量是具有相当多级别的因子(26和9)。我希望能够看到每个因素的每个不同级别对因变量的影响 - 因为这两个因素都没有一个水平使逻辑“默认”能够进行比较,而且我对这两个因素的相关影响感兴趣所有级别我的理解是,因此我想对这两者进行总和对比,以便将每个因子水平的系数与大平均值进行比较,而不是与其他水平之一进行比较。我可以使用以下代码执行此操作:
model<-glm(dependent_variable~factor1+factor2+..., data=dataset,family="binomial",contrasts=list(factor1=contr.sum,factor2=contr.sum));
然而,这仍然忽略了每个因子的参考水平,分别返回25和8个系数而不是26和9.为什么会这样?有没有办法让它显示参考值的系数?
我已经浏览过互联网上其他地方的导游(例如http://www.ats.ucla.edu/stat/r/library/contrast_coding.htm),这些行为表现出相同的行为,但是如果将每个因素水平与大均值进行比较而不是参考级别,需要排除一个级别。我之前使用过逻辑回归的不同实现(例如语言学中大量使用的“VARBRUL”包),它为每个级别返回单独的系数,所以我认为这也应该可能在某种程度上存在?
作为参考,我的实际代码如下:
glm_everything<-glm(perceptually.rhotic~vowel+modified_clip_start+open_syllable+prepausal+speaker,data=rhoticity_prepped_for_glm_exclude_nonrhotic_speakers,family="binomial",contrasts = list(speaker=contr.sum,vowel=contr.sum));
我的数据样本如下:
perceptually.rhotic vowel modified_clip_start open_syllable prepausal speaker
2633 TRUE START 1912.1854 FALSE FALSE 8
6709 TRUE SQUARE 212.0000 TRUE FALSE b7
6468 TRUE lettER 2114.0000 TRUE TRUE b6
6464 TRUE NORTH~FORCE 2050.0000 TRUE TRUE b6
6039 TRUE NURSE 3301.0000 TRUE TRUE b5
4429 TRUE NORTH~FORCE 2051.0000 TRUE TRUE b13
556 TRUE lettER 200.9126 FALSE TRUE 19
1212 TRUE lettER 584.8842 TRUE FALSE 23
2061 TRUE NEAR 1494.7303 TRUE FALSE 3
1411 TRUE NORTH~FORCE 201.1348 FALSE FALSE 25
非常感谢任何人提供的任何帮助!