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
个变量,将会有一些额外的工作。
我正在使用线性模型,比方说
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
个变量,将会有一些额外的工作。