assign
线性模型拟合的属性是什么?它应该以某种方式提供响应项的位置,但实际上它似乎枚举了模型中的所有系数。据我了解,这assign
是 S 的遗留物,不受glm()
. 我需要为 提取等效信息glm
,但我不明白实现的用途lm
,似乎也找不到源代码。帮助文件lm.fit
说,无济于事:
非空拟合将具有与线性拟合相关的分量
assign
和effects
(除非未要求)qr
,供提取器函数使用,例如summary
和effects
您可以在 中找到它help("model.matrix")
,它会创建以下值:
有一个属性“assign”,一个整数向量,矩阵中的每一列都有一个条目,给出了产生该列的公式中的项。值 0 对应于截距(如果有),正值对应于对象对应的术语结构的 term.labels 属性给出的顺序。
因此,它将设计矩阵映射到公式。
来自的数字$assign
代表相应的预测变量。如果您的预测器是具有 3 个级别的分类,您将在$assign
调用中看到相应的数字 (3-1) 次。例子:
data(mpg, package = "ggplot2")
m = lm(cty ~ hwy + class,data = mpg)
m$assign
[1] 0 1 2 2 2 2 2 2
# Note how there is six 2's to represent the indicator variables
# for the various 'class' levels. (class has 7 levels)
您将看到定量预测变量只有一个值(hwy
在上面的示例中),因为它们在设计公式中由一项表示。