为什么我的多元线性回归中的观察结果比 R 数据框中的行多?
Why do I have more observations in my Multiple Linear Regression than I do rows in my dataframe in R?
我正在 运行R 中的 MLR 检查 4 个解释变量(温度、溶解氧、实际盐度和氧化还原电位)对 1 个响应变量(Shell 圆度的影响):
shell_round_mlr <- lm(Shell_Round ~ TempC + O2 + PSU + ORP, data = morph.na)
相关数据集 (morph.na) 有 53 行 数据。当我运行下面的代码检查模型时...
par(mfrow = c(2,2))
plot(shell_round_mlr)
我得到这些图:
[残差与拟合值、正态 Q-Q、尺度位置、残差与杠杆]
[1]: https://i.stack.imgur.com/Lkkmd.png
其中显示的观察结果 #65 和 #159 是我可能想要删除的观察结果。但是,当我只有 53 行数据时,我怎么可能有一个观察 #159?我已经三重检查我是否调用了正确的数据帧。
此外,在这种情况下,如果我想删除任何这些麻烦的观察结果,我该怎么做呢?它不像从数据框中删除一行那么简单。
如有任何建议,我们将不胜感激。
谢谢。
如果没有可重现的示例,很难诊断您的问题。但正如@aosmith 在评论中指出的那样,plot
将使用行索引进行标记。此示例显示 lm
个标记值高于总样本量的图。
set.seed(1L)
df <- data.frame(x = rnorm(20), y = rnorm(20))
rownames(df) <- sample(50:70, 20)
fit <- lm(y ~ x, data = df)
plot(fit)
相比之下,这是与 labels.id = NULL
相同的情节:
plot(fit, labels.id = NULL)
我正在 运行R 中的 MLR 检查 4 个解释变量(温度、溶解氧、实际盐度和氧化还原电位)对 1 个响应变量(Shell 圆度的影响):
shell_round_mlr <- lm(Shell_Round ~ TempC + O2 + PSU + ORP, data = morph.na)
相关数据集 (morph.na) 有 53 行 数据。当我运行下面的代码检查模型时...
par(mfrow = c(2,2))
plot(shell_round_mlr)
我得到这些图:
[残差与拟合值、正态 Q-Q、尺度位置、残差与杠杆] [1]: https://i.stack.imgur.com/Lkkmd.png
其中显示的观察结果 #65 和 #159 是我可能想要删除的观察结果。但是,当我只有 53 行数据时,我怎么可能有一个观察 #159?我已经三重检查我是否调用了正确的数据帧。
此外,在这种情况下,如果我想删除任何这些麻烦的观察结果,我该怎么做呢?它不像从数据框中删除一行那么简单。
如有任何建议,我们将不胜感激。 谢谢。
如果没有可重现的示例,很难诊断您的问题。但正如@aosmith 在评论中指出的那样,plot
将使用行索引进行标记。此示例显示 lm
个标记值高于总样本量的图。
set.seed(1L)
df <- data.frame(x = rnorm(20), y = rnorm(20))
rownames(df) <- sample(50:70, 20)
fit <- lm(y ~ x, data = df)
plot(fit)
相比之下,这是与 labels.id = NULL
相同的情节:
plot(fit, labels.id = NULL)