如何解读R语言中stats::contrasts对有序因子的输出结果
有序因子对比矩阵含义解析
你有一个名为Severity的有序因子列,等级顺序为"Low"<"Mild"<"High"<"Extreme",运行contrasts(df$Severity)得到的矩阵是R语言中正交多项式对比的编码结果,各部分含义如下:
行的含义
- 行[1,]对应因子水平
Low,行[2,]对应Mild,行[3,]对应High,行[4,]对应Extreme。每一行的数值是该因子水平在不同趋势维度上的编码权重。
列的含义
.L:代表线性趋势,用于检验因变量随因子等级递增的线性变化规律。数值的正负和大小对应水平在线性维度上的权重——Low的.L值负且绝对值最大,Extreme正且绝对值最大,说明线性趋势是从Low到Extreme呈递增走向。.Q:代表二次趋势,用于检验因变量随因子等级变化的U型/倒U型规律。Low和Extreme的.Q值为0.5,Mild和High为-0.5,对应对称的二次曲线模式。.C:代表三次趋势,用于检验更复杂的三次曲线变化规律,数值的符号与分布对应三次多项式的权重。
具体数值的含义
这些数值是标准化的正交多项式权重,核心作用是保证线性、二次、三次三个趋势维度彼此正交(即无相关性),让回归模型中各趋势的效应能被独立估计:
-0.6708204等价于-√(3/6),0.2236068等价于√(1/6),这类权重让每个对比的平方和为1,方便不同趋势的效应量直接对比。0.5和-0.5是二次趋势的对称编码,适配四个因子水平的二次多项式分布。
内容的提问来源于stack exchange,提问作者Nemo
相关产品推荐
相关产品推荐

