r对比和编码

时间:2016-08-03 14:59:25

标签: r regression

我正在使用数据集进行二项式回归,其中两个自变量是具有相当多级别的因子(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

非常感谢任何人提供的任何帮助!

0 个答案:

没有答案