R lm()$assign:是什么?
线性模型拟合的R lm()$assign:是什么?,r,glm,lm,s,R,Glm,Lm,S,线性模型拟合的assign属性是什么?它应该以某种方式提供响应项的位置,但实际上它似乎枚举了模型中的所有系数。我的理解是,assign是s的遗留,它不受glm()的支持。我需要提取glm的等效信息,但我不明白lm的实现做了什么,似乎也找不到源代码。lm.fit的帮助文件毫无帮助地说: 非空拟合将具有与线性拟合相关的组件分配、效果和(除非未要求)qr,供提取函数使用,如摘要和效果 您可以在帮助(“model.matrix”)中找到它,它创建了以下值: 有一个属性“assign”,一个整数向量,其中
assign
属性是什么?它应该以某种方式提供响应项的位置,但实际上它似乎枚举了模型中的所有系数。我的理解是,assign
是s的遗留,它不受glm()
的支持。我需要提取glm
的等效信息,但我不明白lm
的实现做了什么,似乎也找不到源代码。lm.fit
的帮助文件毫无帮助地说:
非空拟合将具有与线性拟合相关的组件分配
、效果
和(除非未要求)qr
,供提取函数使用,如摘要
和效果
您可以在
帮助(“model.matrix”)
中找到它,它创建了以下值:
有一个属性“assign”,一个整数向量,其中包含
矩阵中的每列给出公式中的术语,公式中给出
站到柱子上。值0对应于截距(如果有),并且
按照term.labels给定的顺序将正值设置为term
对象对应的术语结构的属性
因此,它将设计矩阵映射到公式。您可以在
帮助(“model.matrix”)
中找到它,它创建以下值:
有一个属性“assign”,一个整数向量,其中包含
矩阵中的每列给出公式中的术语,公式中给出
站到柱子上。值0对应于截距(如果有),并且
按照term.labels给定的顺序将正值设置为term
对象对应的术语结构的属性
因此,它将设计矩阵映射到公式。来自
$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
,在上面的示例中),因为它们在设计公式中由一个术语表示。来自$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
),因为它们在设计公式中由一个术语表示。计算此字段的代码在哪里?我现在还没找到。啊,我现在明白了。奇怪的是,$assign
不在lm
或glm
的源代码中。我还没有找到原因,但我会继续查找。计算此字段的代码在哪里?我现在还没找到。啊,我现在明白了。奇怪的是,$assign
不在lm
或glm
的源代码中。我还没有找到原因,但我会继续寻找。可笑的是,在?lm
…中根本没有提到这一点。。。不得不花20分钟追踪assign
最初来自哪里。可笑的是?lm
中根本没有提到这一点。。。必须花20分钟追踪assign
最初的来源。