【发布时间】:2021-05-14 12:31:18
【问题描述】:
我有一个 x 和 y 地理坐标(30,000+ 坐标)的数据框,类似于下面的示例矩阵 points。我想随机抽取这些样本,但这样我就不会丢失 x 和 y 坐标对。
例如,我知道我可以获取x 和y 中的 2 个项目的随机样本,但是我如何获取随机样本以便保留在一起的项目?换句话说,在我的points 矩阵中,一个实际点是一对 x 坐标(例如,第一项:-12.89),它与y 列表中的第一项:18.275 对应。
有没有一种方法可以将 x 和 y 中的项目放在一起,以便将顺序保存在一个类似元组的对象中(我更像是一个 python 用户),然后随机抽样使用sample()?谢谢。
# Make some pretend data
x<-c(-12.89,-15.35,-15.46,-41.17,45.32)
y<-c(18.275,11.370,18.342,18.305,18.301)
points<-cbind(x,y)
points
# Get a random sample:
# This is wrong because the x and y need to be considered together
c(sample(x, 2),
sample(y, 2))
# This is also wrong because it treats each item in `points` separately
sample(points, size=2, replace=FALSE)
最终,在此示例中,我希望得到两个随机配对。 例如:(-15.35,11.370) 和 (45.32,18.301)
【问题讨论】:
-
只需采样索引号
idx <- sample(1:length(x), size=1)并使用它,例如x[idx]和y[idx]
标签: r matrix random tuples sample