gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 09:15:57 25 4
gpt4 key购买 nike

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

true scatterplot

现在我正在尝试提取每个种群的位置(例如通过隔离行 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)
sample scatter
另外,我的原始数据有大约 1,000,000 行,因此该解决方案还需要支持大型数据框。关于如何隔离这些组的任何想法?
谢谢

最佳答案

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

下面是聚类的代码。在您的情况下,该代码大约需要几分钟。

library(kernlab)
specc_df <- specc(as.matrix(df),centers = 2)
plot(df, col = specc_df)

结果是两个点集群的明显图。 obviously two groups of points

关于r 在散点图中识别两个种群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44976014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com