删除R中异常值的替代方法



我希望在k表示聚类后删除聚类中的异常数据点,并在R:-中使用这种方法

1.(绘制图表:-

plot(sort(df[[1]]$var))
plot(sort(df[[2]]$var))

2.(从图中可以看到异常值(在我的情况下是极值(数据点。

rownames(df[[1]])<-1:nrow(df[[1]])
rownames(df[[2]])<-1:nrow(df[[2]])

3.(转到view(df[[1]])view(df[[2]])按降序对var进行排序,记下作为异常数据点的行索引号,并从df[[1]]df[[2]]中删除这些行

df[[1]]<-df[[1]][-c(200,320,216),]
df[[2]]<-df[[2]][-c(7000,1200,2320),]

df是一个包含3个元素的列表,df[[1]]访问第一个元素/集群

有没有其他简单有效的方法可以做到这一点?

您需要包含一个简短的、可重复的示例,显示您想要什么以及您已经尝试了什么。也就是说,如果我猜对了你想要什么,下面可能会给你一些提示。请注意,您可以从CI或其他方式获取最小/最大切割值。

a <- 1:40
b <- a[a %in% 4:35] # Define outliers as <= 4 or >= 35
b
length(b) # Note there are no NAs using this approach

基本上切断相关异常值处的异常值,并绘制剩余元素的图形。

最新更新