R:隐藏假人输出
R: Hide dummies output
我是 运行 使用 R
回归的新手。通过做和查看不同的在线教程来学习,这就是我正在做的事情 atm 将 y
回归到 x1
并为 x2
和 x3
设置虚拟机(但没有交互的虚拟机):
myDataTable[, x2.f := factor(x2)]
myDataTable[, x3.f := factor(x3)]
ols <- myDataTable[, lm(y ~ x1 + x2.f +x3.f)]
现在,我想看看我的回归输出,但它很长,因为 x3
有很多(想想数千个)值,summary(ols)
是不可读的。
如何查看回归输出,隐藏两个因子变量的输出?这应该是非常标准的,但是 summary.lm
中的参数 none 允许这样做,如果我理解正确的话。
也就是说,排除阶乘变量,输出将仅为 x1
:
> summary(ols, exclude=list(x2.f, x3.f)
Call:
lm(y ~ x1 + x2.f +x3.f)
Residuals:
Min 1Q Median 3Q Max
-55.99 -38.66 -10.05 33.91 132.18
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 49.5283522 0.6035625 82.060 < 2e-16 ***
x1 -0.0002951 0.0000633 -4.663 3.2e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
你可以存储一个summary
的输出,然后只得到你想要的部分。如果您只想要系数的一部分 table - 这是一个示例:
#make example data with 26 factors
X<-rnorm(26000)
Y<-rnorm(26000)
Z<-rep(letters,1000)
#do analysis, store summary and pull rows 1:5 of coefficient table
MyLM<-lm(X~Y+Z)
MySum<-summary(MyLM)
MySum$coef[1:5,]
#### or this produces the same output ###
coef(MySum)[1:5,]
这将为您提供前五行,您可以使用其他索引方法来获取您想要的任何内容,因为 MySum$coef
和 coef(MySum)
的输出是一个矩阵。
例如,我存储了 lm
和 summary
的结果,但如果需要,您可以将所有这些组合在一行中,例如summary(lm(x...))$coef[1:5,]
通过将部分输出保存为 DataFrame 可以准确地完成您的需要。然后只访问需要的部分。这有助于显示系数及其 p 值。
首先,需要存储估算结果:
res<-lm(y ~ x1 + x2.f +x3.f)
然后从系数输出中得到 data.frame(系数是完整输出的第 4 个元素):
res1<-data.frame(summary(res))[4])
使用数据框,您现在可以访问/限制您需要的任何内容。例如,如果只需要前两个系数及其 p 值:
res1[1:2,]
我是 运行 使用 R
回归的新手。通过做和查看不同的在线教程来学习,这就是我正在做的事情 atm 将 y
回归到 x1
并为 x2
和 x3
设置虚拟机(但没有交互的虚拟机):
myDataTable[, x2.f := factor(x2)]
myDataTable[, x3.f := factor(x3)]
ols <- myDataTable[, lm(y ~ x1 + x2.f +x3.f)]
现在,我想看看我的回归输出,但它很长,因为 x3
有很多(想想数千个)值,summary(ols)
是不可读的。
如何查看回归输出,隐藏两个因子变量的输出?这应该是非常标准的,但是 summary.lm
中的参数 none 允许这样做,如果我理解正确的话。
也就是说,排除阶乘变量,输出将仅为 x1
:
> summary(ols, exclude=list(x2.f, x3.f)
Call:
lm(y ~ x1 + x2.f +x3.f)
Residuals:
Min 1Q Median 3Q Max
-55.99 -38.66 -10.05 33.91 132.18
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 49.5283522 0.6035625 82.060 < 2e-16 ***
x1 -0.0002951 0.0000633 -4.663 3.2e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
你可以存储一个summary
的输出,然后只得到你想要的部分。如果您只想要系数的一部分 table - 这是一个示例:
#make example data with 26 factors
X<-rnorm(26000)
Y<-rnorm(26000)
Z<-rep(letters,1000)
#do analysis, store summary and pull rows 1:5 of coefficient table
MyLM<-lm(X~Y+Z)
MySum<-summary(MyLM)
MySum$coef[1:5,]
#### or this produces the same output ###
coef(MySum)[1:5,]
这将为您提供前五行,您可以使用其他索引方法来获取您想要的任何内容,因为 MySum$coef
和 coef(MySum)
的输出是一个矩阵。
例如,我存储了 lm
和 summary
的结果,但如果需要,您可以将所有这些组合在一行中,例如summary(lm(x...))$coef[1:5,]
通过将部分输出保存为 DataFrame 可以准确地完成您的需要。然后只访问需要的部分。这有助于显示系数及其 p 值。 首先,需要存储估算结果:
res<-lm(y ~ x1 + x2.f +x3.f)
然后从系数输出中得到 data.frame(系数是完整输出的第 4 个元素):
res1<-data.frame(summary(res))[4])
使用数据框,您现在可以访问/限制您需要的任何内容。例如,如果只需要前两个系数及其 p 值:
res1[1:2,]