线性模型拟合的assign
属性是什么?它应该以某种方式提供响应项的位置,但在实践中它似乎枚举模型中的所有系数。我的理解是assign
是来自S的遗留物,glm()
不支持它。我需要提取glm
的等效信息,但我不明白实现对lm
的作用,也似乎无法找到源代码。 lm.fit
的帮助文件无益地说:
非空拟合将包含与线性拟合相关的组件
assign
,effects
和(除非未请求)qr
,以供summary
等提取函数使用和effects
答案 0 :(得分:5)
您可以在help("model.matrix")
中找到,这会创建以下值:
有一个属性“assign”,一个带有条目的整数向量 矩阵中的每一列给出了给出的公式中的项 上升到专栏。值0对应截距(如果有),和 term.labels给出的顺序中的正值 与对象相对应的术语结构的属性。
因此,它将设计矩阵映射到公式。
答案 1 :(得分:2)
来自$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
),因为它们在设计公式中由一个项表示。