R 如何从对回归模型有很大影响的数据集中删除两个数据点

R 如何从对回归模型有很大影响的数据集中删除两个数据点,r,regression,R,Regression,我在数据集中发现了两个异常数据点,但我不知道如何删除它们。我在网上找到的所有指南似乎都强调绘制数据,但我的问题不需要绘制,它只需要回归模型拟合。我很难找到如何从数据集中删除两个数据点,然后用新模型拟合新数据集。 以下是我编写的代码和发现的异常值: library(alr4) library(MASS) data(lathe1) head(lathe1) y=lathe1$Life x1=lathe1$Speed x2=lathe1$Feed x1_square=(x1)^2 x2_square=

我在数据集中发现了两个异常数据点,但我不知道如何删除它们。我在网上找到的所有指南似乎都强调绘制数据,但我的问题不需要绘制,它只需要回归模型拟合。我很难找到如何从数据集中删除两个数据点,然后用新模型拟合新数据集。 以下是我编写的代码和发现的异常值:

library(alr4)
library(MASS)
data(lathe1)
head(lathe1)
y=lathe1$Life
x1=lathe1$Speed
x2=lathe1$Feed
x1_square=(x1)^2
x2_square=(x2)^2
#part A (Box-Cox method show log transformation)
y.regression=lm(y~x1+x2+(x1)^2+(x2)^2+(x1*x2))
mod=boxcox(y.regression, data=lathe1, lambda = seq(-1, 1, length=10))
best.lam=mod$x[which(mod$y==max(mod$y))]
best.lam
#part B (null-hypothesis F-test)
y.regression1_Reduced=lm(log(y)~1)
y.regression1=lm(log(y)~x1+x2+x1_square+x2_square+(x1*x2))
anova(y.regression1_Reduced, y.regression1)
#part D (F-test of log(Y) without beta1)
y.regression2=lm(log(y)~x2+x2_square)
anova(y.regression1_Reduced, y.regression2)
#part E (Cook's distance and refit)
cooks.distance(y.regression1)

Outliers:
9                10
0.7611370235     0.7088115474
我认为您可能能够(如果执行时间/语料库大小允许的话)使用循环传递数据,并根据您的标准复制/删除元素,以获得所需的结果,例如

corpus\u list\u无异常值=[]
对于语料库列表中的元素:

如果(elem.speed你应该提供一个可复制的例子,说明你所做的事情以及你遇到的问题,并阅读这篇文章。当你发布它时,我忘了回复你的解决方案。这非常有帮助。非常感谢。@ManuelQuiroz我感谢你的反馈。如果你也能回答我关于阿斯特:谢谢。