
线性回归和方差分析
|
331
#> (Intercept) x
#> 3 2
更一般地,可以使用表达式 1:floor(length(x)/2) 来选择数据的前半部分,无论
它的大小是多少:
lm(y ~ x, subset = 1:floor(length(x) / 2))
#>
#> Call:
#> lm(formula = y ~ x, subset = 1:floor(length(x)/2))
#>
#> Coefficients:
#> (Intercept) x
#> 3 2
假设数据是从几个实验室中收集的,有一个因子 lab,它可以识别数据所来源的实验
室。通过使用仅对某些观察值为 TRUE 的逻辑向量,可以将回归限制为仅在新泽西州收
集的观测值:
load('./data/lab_df.rdata')
lm(y ~ x, subset = (lab == "NJ"), data = lab_df)
#>
#> Call:
#> lm(formula = y ~ x, data = lab_df, subset = (lab == "NJ"))
#>
#> Coefficients:
#> (Intercept) x
#> 2.58 5.03
11.10 在回归公式中使用表达式
11.10.1 问题
要对计算出的值进行回归,而不是对简单变量,但回归公式的语法似乎禁止这样做。
11.10.2 解决方案
在 I(...) 运算符中嵌入计算值的表达式。这将强制 R 计算表达式并使用计算值进行回归。
11.10.3 讨论