gpt4 book ai didi

r - lm() 函数中的子集参数如何工作?

转载 作者:行者123 更新时间:2023-12-04 10:41:35 27 4
gpt4 key购买 nike

我一直试图弄清楚 subset R 中的参数 lm()功能有效。特别是以下代码对我来说似乎很可疑:

 data(mtcars)
summary(lm(mpg ~ wt, data=mtcars))
summary(lm(mpg ~ wt, cyl, data=mtcars))

在每种情况下,回归都有 32 个观察值
  dim(lm(mpg ~ wt, cyl  ,data=mtcars)$model)
[1] 32 2
dim(lm(mpg ~ wt ,data=mtcars)$model)
[1] 32 2

然而系数会发生变化(与 R² 一起)。帮助没有提供太多关于这个问题的信息:

subset an optional vector specifying a subset of observations to be used in the fitting process

最佳答案

作为一般原则,子集中使用的向量可以是逻辑的(例如每个元素的 TRUE 或 FALSE)或数字的(例如数字)。作为帮助采样的功能,如果它是数字 R 将多次包含相同的元素,如果它出现在子集数字向量中。

一起来看看cyl :

> mtcars$cyl
[1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4

所以你得到一个相同长度的 data.frame,但它由第 6 行、第 6 行、第 4 行、第 6 行等组成。

如果您自己进行子集化,您可以看到这一点:
> head(mtcars[mtcars$cyl,])
mpg cyl disp hp drat wt qsec vs am gear carb
Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
Valiant.1 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
Valiant.2 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
Valiant.3 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1

你的意思是做这样的事情吗?
summary(lm(mpg ~ wt, cyl==6, data=mtcars))

关于r - lm() 函数中的子集参数如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11328003/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com