R 基于线性邻近度的点聚类

R 基于线性邻近度的点聚类,r,filtering,classification,cluster-analysis,linear-regression,R,Filtering,Classification,Cluster Analysis,Linear Regression,我有一些数据,我想根据它们的线性接近度将它们分为两组(即,几乎共线的点被分组在一起)。以下是我的数据示例: data <- data.frame(Y=c(seq(0,10,1), seq(0,4,0.5)), X= c(0:10,0:8)) plot(jitter(data$Y), jitter(data$X), pch=19) data你可以试试这个软件包mclust ## Add a little noise to the lines data <- data.frame(Y

我有一些数据,我想根据它们的线性接近度将它们分为两组(即,几乎共线的点被分组在一起)。以下是我的数据示例:

data <- data.frame(Y=c(seq(0,10,1), seq(0,4,0.5)), X= c(0:10,0:8))
plot(jitter(data$Y), jitter(data$X), pch=19) 

data你可以试试这个软件包
mclust

## Add a little noise to the lines
data <- data.frame(Y=c(seq(0,10,1), seq(0,4,0.5))+rnorm(20,0,0.1), X= c(0:10,0:8))

library(mclust)
fit <- Mclust(data)
plot(fit)  # classification
##在线条上加一点杂音
数据转换您的数据。

试着聚类/分析变量
z=x/y
而不是你知道你在寻找多少个簇吗?是的,我想把它们分成两个簇。那么,0,0处的点将属于这两个簇。任何集群都很难“正确”分配它们,因为它是不明确的。。。但是,诸如mclust之类的聚类方法很可能决定,例如,接近0的点是一个聚类,其余的点是第二个聚类。运行两次,您可能会得到非常不同的结果。另一方面,数据转换方法是稳定的,你可能会找到一个很好的理论。我也会尝试你的方法。谢谢