我有鸟类的数据,在这些数据中,我比较了多年来和彼此之间的机翼长度和重量。我注意到从振铃台收到的某些数据输入不准确。例如,对于某一种机翼,机翼长度在40至60mm之间,但是在578mm处存在异常值,这一定是输入错误的结果。是否可以从数据集中排除这些极端离群值?
使用dplyr
,您可以使用过滤数据
library(dplyr)
df <- filter(df, wing_length < 500)
有时真正的选择是选择使用哪个数字作为排除异常值的限制。某些人使用3倍于数据的标准偏差。
您可以使用类似的方法从数据框中删除这些值
df <- df[-which(df$wing_length > 500), ]
示例:
> df <- data.frame(a=1:10, b=11:20)
> df
a b
1 1 11
2 2 12
...
9 9 19
10 10 20
> df <- df[ - which(df$a>5), ]
> df
a b
1 1 11
2 2 12
3 3 13
4 4 14
5 5 15