r在散点图中识别两个群体

Ili*_*lik 3 r raster subset scatter-plot

我将两个栅格与逐个细胞图的简单散点图进行比较,发现我有两个看似不同的种群:

真实的散点图

现在我试图提取每个群体的位置(通过隔离行ID,例如),这样我就可以看到它们落入栅格的位置,也许可以理解为什么我会得到这种行为.这是一个可重复的例子:
X <- seq(1,1000,1)
Z <- runif(1000, 1, 2)
A = c(1.2 * X * Z + 100)
B = c(0.6 * X * Z )
df = data.frame(X = c(X,X), Y = c(A,B))
plot(df$X,df$Y)
样本散点图
此外,我的原始数据有大约1,000,000行,因此解决方案也需要支持大型数据帧.关于如何隔离这些群体的任何想法?
谢谢

ray*_*how 5

谱聚类可用于识别具有清晰边界的点群.一个很大的优点是它是无监督的,即不依赖于人类的判断,尽管该方法很慢并且需要提供一些超参数(例如,簇的数量).

下面是群集的代码.在您的情况下,代码大约需要几分钟.

library(kernlab)
specc_df <- specc(as.matrix(df),centers = 2)
plot(df, col = specc_df)
Run Code Online (Sandbox Code Playgroud)

结果是两个点集的明显图. 显然有两组积分