我希望在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
基本上切断相关异常值处的异常值,并绘制剩余元素的图形。