Previous: Formulae for statistical models, Up: Formulae for statistical models



11.1.1 对照

我们至少要知道模型公式是如何指定模型矩阵的列项的。 对于连续变量这是比较简单的,因为每一个变量对应于 模型矩阵的一个列(如果模型中包含截距, 会在矩阵中列出这一列的)。

对于一个 k-水平的因子 A 该如何处理呢?无序和有序因子的 结论是不一样的。对于无序因子 k - 1 列用于作为因子第二,..., 第 k 水平的指标(因此隐含的参数就是 其他水平和第一个水平的响应程度的比较)。对于 有序因子,k - 1 列是 在 1, ..., k 上的正交项,并且忽略常数项。

尽管这里的回答有点复杂,但这不是事情的全部。 首先在含有一个因子项的模型中忽略截距项, 这一项将会被编入指示所有因子水平的 k 列中。 其次整个行为可以通过 options 设置参数 contrasts 而改变。 R 的默认设置为

     options(contrasts = c("contr.treatment", "contr.poly"))

提这些内容的主要原因是 R 和 S 对无序因子 采用不同的默认值。S采用 Helmert 对照。因此,当你需要比较某本书上或者论文上用 S-Plus 写的代码,你必须设置

     options(contrasts = c("contr.helmert", "contr.poly"))

这是一个经过认真考虑的改变。因为处理对照(treatment contrast)(R默认) 对于新手是比较容易理解的。

这还没有结束,因为在各个模型的各个项中对照方式可以用 函数 contrastsC 重新设置。 我们还没有考虑交互作用项:这将会产生 各分量项的复合项。

尽管细节是复杂的,R 里面的模型公式 可以产生统计专家所期望的各种模型1。 例如,利用关联项而非主要效应的模型拟合 常常会产生令人惊讶的结果, 不过这些仅仅为统计专家们设计的。


Footnotes

[1] 译者注:这里还有一个条件:provided that marginality is preserved。不知有何关联?