我正在尝试删除这样的行:
data <- data[-1645,]
但是,运行代码后,该行仍然存在。我可以说出来,因为该行中有一个异常值显示在我的所有图形上,当我查看数据时,我可以对一列进行排序以轻松找到有问题的异常值。我过去删除行没有遇到麻烦-是否有人遇到类似情况?我确实了解离群值移除的局限性,但是由于种种原因,我通常不希望将其移除。我想看看没有此值的数据是什么样的(在这种情况下,响应变量中的所有其他值都介于- 1和0,在此行中的值为10 ^ 4)。
您确实需要提供更多信息,但是有几种方法可以解决问题。第一个是打印出要删除的行:
数据[1645,]
是离群值吗?您没有告诉我们如何识别离群值。如果已从数据框中删除行,则不更改行名,但更改索引值,例如
set.seed(42)
x <- sample.int(25)
y <- sample.int(25)
data <- data.frame(x, y)
head(data)
# x y
# 1 17 2
# 2 5 8
# 3 1 3
# 4 10 1
# 5 4 10
# 6 18 11
data <- data[-c(5, 10, 15, 20, 25), ]
head(data)
# x y
# 1 17 2
# 2 5 8
# 3 1 3
# 4 10 1
# 6 18 11
# 7 25 15
data[6, ]
# x y
# 7 25 15
data["6", ]
# x y
# 6 18 11
注意,数据的第6行的行名称为“ 7”,但名称为“ 6”的行在数据框中为第5行,因为我们删除了第5行。 which
函数将为您提供索引值,但是如果您通过查看打印输出来识别异常值,则会得到行名,并且行名可能与索引不同。如果我们要删除x中大于24的值,请采用以下一种方法:
data[data$x<25, ]