我正在为一个项目模拟一些数据,基本上我需要画一个不规则的椭圆状形,然后在该形状内生成一堆随机点,但我完全不知道该怎么做。
目前为止,我制作了一条样条曲线,然后在其上绘制了许多点。有没有办法找到重叠部分?或者更好的方法是,在预先制作的形状范围内生成随机点?
(如果有更好的开始方式,请随意放弃我的代码 - 也许它需要成为某种空间对象?)
目前为止,我制作了一条样条曲线,然后在其上绘制了许多点。有没有办法找到重叠部分?或者更好的方法是,在预先制作的形状范围内生成随机点?
(如果有更好的开始方式,请随意放弃我的代码 - 也许它需要成为某种空间对象?)
set.seed(2)
shape <- data.frame(
x = c(2, 3, 2, 3, 2, 1, 0, 1),
y = c(1, 3, 5, 7, 9, 7, 5, 3 )
)
scatter = data.frame(
x = rnorm(100, mean = 1.5, sd = .6),
y = rnorm(100, mean = 5, sd = 2)
)
ggplot(data = shape,
aes(x=x,y=y)) +
ggforce::geom_bspline_closed(fill = "transparent", color = "black") +
geom_point(color = "blue") +
coord_equal() +
geom_point(data = scatter, shape = "*", size=3)
runif
创建你的xy
数据框,为每个设置最小值和最大值,从而在椭圆内获得更多的样本。具体可参考?runif
。 - Chris