
330
|
第
11
章
这不会奏效:大部分的交互项是没有意义的。函数 step 变得不堪重负,而你留下了许
多不显著的项。
11.8.4 另请参阅
参见 11.25 节。
11.9 对数据子集进行回归
11.9.1 问题
要对一部分数据(而不是整个数据集)拟合一个线性模型。
11.9.2 解决方案
函数 lm 有一个参数 subset,用于指定应该使用哪些数据元素进行拟合。该参数的值
可以是任何用于索引数据的表达式。下面显示了仅使用前 100 个观察值的回归拟合:
lm(y ~ x1, subset=1:100) # Use only x[1:100]
11.9.3 讨论
你会经常只需要对数据中的一个子集进行回归。例如,当使用样本内数据创建模型和样
本外数据进行检验时,就会发生这种情况。
lm 函数有一个参数子集,它选择用于拟合的观察值。subset 的值是一个向量。它
可以是一个索引值向量,在这种情况下,lm 仅从数据中选择指定的观察值。它也可
以是一个逻辑向量,长度与数据相同,在这种情况下,lm 选择具有相应 TRUE 值的观
察值。
假设你有 (
x
,
y
) 对的 1000 个观测值,并希望通过使用这些观测值的前半部分拟合你的模
型。可以设置参数 subset 的值为 1:500,表示 lm 应使用 1 到 500 的观测值:
## example data
n <- 1000
x <- rnorm(n)
e <- rnorm(n, 0, .5)
y <- 3 + 2 * x + e
lm(y ~ x, subset = 1:500) ...