R 如何使采样数据看起来像二元月球?

R 如何使采样数据看起来像二元月球?,r,R,这是300个点形成的二元月亮形状。我想通过R复制这些数据,但我没有找到合适的工具。 R-package“clusterSim”中有一个名为“shapes.two.moon”的函数,但我发现它生成的是拱门而不是月亮: 这里的区别是月亮有两个尖头,而拱门保持相同的半径 非常感谢所有了解月亮阴谋的人 使用基于密度的聚类算法。我使用DBScan算法来完成下面的示例 由于缺乏数据可用性或调整可复制示例的可能性,我使用了其他数据 df% dplyr::过滤器(Y

这是300个点形成的二元月亮形状。我想通过R复制这些数据,但我没有找到合适的工具。 R-package“clusterSim”中有一个名为“shapes.two.moon”的函数,但我发现它生成的是拱门而不是月亮:

这里的区别是月亮有两个尖头,而拱门保持相同的半径


非常感谢所有了解月亮阴谋的人

使用基于密度的聚类算法。我使用DBScan算法来完成下面的示例

  • 由于缺乏数据可用性或调整可复制示例的可能性,我使用了其他数据

df%
dplyr::过滤器(Y<1)
绘图(df,pch=20)

set.seed(1)
数据库
库(dplyr);图书馆(GG2)

月亮制造者那似乎更好!与“形状.二.月亮”相比,ggplot能产生足够的噪音。让我试试!谢谢谢谢但该数据集仅包含100个数据点。我必须创建足够的样本,看起来像两个卫星。如果你提供一个完全可复制的例子,我可以用n高的值。
library(dbscan) # for data
library(fpc)
library(dplyr)
data("moons")
plot(moons, pch=20)
df <- moons %>% 
  dplyr::filter(Y < 1)
plot(df, pch=20)
set.seed(1)
db <- fpc::dbscan(df, eps = 0.4, MinPts = 2)
plot(db, df, main = "DBSCAN", frame = FALSE)
library(dplyr); library(ggplot2)

moon_maker <- function(n = 1000, noise = 0.1,
                       x_center = 0, y_center = 0, radius = 1) {
  moon <- tibble(
    i = 1:n,
    x = x_center + radius * cos(pi * i/n) + rnorm(n, 0, sd = noise * radius),
    y = y_center + radius * sin(pi * i/n) + rnorm(n, 0, sd = noise * radius),
  )
  moon
}

ggplot(data = moon_maker()) +
  geom_point(color = "red", aes(x,y)) +
  geom_point(data = moon_maker(x_center = 0.75), aes(x, -y), color = "blue" )