繁体   English   中英

在R中访问回归模型的变量

[英]Access variables of a regression model in R

我说我正在使用线性模型

y<-rnorm(20)
x1<-rgamma(20,2,1)
x2<-rpois(20,3)

fit<-lm(y~x1*x2)
summary(fit)

而我想知道,有没有办法通过lm访问回归变量? 一种选择是简单地使用

fit$model

而你得到的是

             y        x1 x2
1   1.52366782 1.1741392  4
2  -0.23640711 0.8780224  2
3   0.90728028 3.2192029  3
4  -0.07964816 2.5476499  3
5  -0.50999322 1.8515032  2
6   0.08854942 0.2892199  1
7   0.19708785 1.1865428  3
8   0.09641827 0.5808471  1
9  -0.28815596 1.3589239  1
10 -0.45784790 3.7514056  2
11 -0.39785151 0.8648221  0
12 -0.17503763 0.8153766  3
13  1.44095562 0.1933351  1
14 -0.86787846 2.7348324  5
15  0.30369142 0.7547339  7
16 -0.76884945 2.1558952  1
17 -0.81620973 1.2373447  3
18 -0.40978079 1.2046777  2
19 -0.23160424 1.8455335  2
20  2.90504457 0.9968425  2

然后响应与协变量一起显示。 问题是交互x1:x2 存在,它通常是模型构建的重要部分。

当逐步过程将大量数据集减少为几个变量及其相互作用时,问题出现在变量选择的背景下。 我想为这个模型建立协变量矩阵而不参考数据集。

先感谢您。

感谢罗兰

您可以通过访问摘要属性来获取模型字符串(查看str(s)

s <- summary(fit)
mymod <- paste(attr(s$terms, "term.labels"), collapse=" + ")
mymod
[1] "x1 + x2 + x1:x2"

但是,您可以通过将模型拟合传递给model.matrix来获取数据

model.matrix(fit)

如果你有factor变量,会有一些额外的工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM