如何解决如何根据值是否超过 Rstudio 中特定列中的给定数字来删除数据集中的行
我正在尝试从我的数据集中删除一些异常值。我一次一个地调查数据中的每个变量。我已经为变量构建了箱线图,但不想删除所有分类的异常值,只删除最极端的。因此,我注意到箱线图上的值我不希望我的变量超过,并试图删除与具有超过所选值的特定列值的观察值相对应的行。
例如, 我的数据集称为牛奶,其中一个变量称为 alpha_s1_casein。我认为以下内容会删除数据集中 alpha_s1_casein 的值大于 29 的所有行:
milk <- milk[milk$alpha_s1_casein < 29,]
事实上确实如此。数据框中的行数从 430 减少到 428。但是它在我的数据集中不涉及的列中引入了很多 NA 值
sum(is.na(milk))
5909 NA 值 但是在执行上述操作后,现在返回的 NA 的总和是
sum(is.na(milk))
75912 NA 值。
我不明白这里出了什么问题,我不明白为什么我在做的事情是引入比开始时更多的 NA 值,而我所做的只是在列值超过某个数字时删除观察值。
有人可以帮忙吗?我绝望了
解决方法
在不使用其他包的情况下,要删除数据集中 alpha_s1_casein 的值大于 29 的所有行,您可以这样做:
milk <- milk[-which(milk$alpha_s1_casein > 29),]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。