如何从R中的data.frame中删除多个异常值

时间:2013-05-13 05:22:39

标签: r statistics

嗨我有5个变量,有1000个观察值。因此,5个变量包含许多异常值,如10,11,13,1003,10987,1099,并且它还包含缺失值。所以我想删除多个异常值。请帮帮我....先谢谢。

2 个答案:

答案 0 :(得分:3)

您可以创建一个条件来提取相关数据并排除异常值。例如,如果您的数据框名为“df1”,并且您想要提取某个列中的数据(例如:列“2”),其值介于1和5之间:

condition1 <- df1[,2] >=1 & df1[,2] <=5
df1 <- df1[condition1,]

我希望这会有所帮助

答案 1 :(得分:0)

较少依赖于特定值的东西使用分位数。

df <- data.frame(a = c(rep(1, 5), c(5, 7)), b = 1:7)
keep <- sapply(names(df), function(f) (df[,f] <= quantile(df[,f], probs = c(0.9))) )
df[apply(keep, 1, all),]
  a b
1 1 1
2 1 2
3 1 3
4 1 4
5 1 5
6 5 6