如何解决删除行功能

问题描述 投票:1回答:1

我正在尝试删除这样的行:

data <- data[-1645,]

但是,运行代码后,该行仍然存在。我可以说出来,因为该行中有一个异常值显示在我的所有图形上,当我查看数据时,我可以对一列进行排序以轻松找到有问题的异常值。我过去删除行没有遇到麻烦-是否有人遇到类似情况?我确实了解离群值移除的局限性,但是由于种种原因,我通常不希望将其移除。我想看看没有此值的数据是什么样的(在这种情况下,响应变量中的所有其他值都介于- 1和0,在此行中的值为10 ^ 4)。

r row
1个回答
1
投票

您确实需要提供更多信息,但是有几种方法可以解决问题。第一个是打印出要删除的行:

数据[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, ]
© www.soinside.com 2019 - 2024. All rights reserved.