我需要从我在ArcGIS中创建的网格中选择R中的随机点。
我有一个大SpatialPointsDataFrame与160831元素(点)命名为“gridpts”.我导入的点与“readOGR”
> names(gridpts)
[1] "gpts" "L_code" "Lake" "Area"
字符串
我想通过“L_code”来划分点的子集,然后随机选择点。这是我到目前为止所做的:
acr2.pts <- gridpts[gridpts$L_code == "acr2",]
sample.acr2 <- sample(nrow(acr2.grid), 690)
型
然而,这给了我一个带有gpts的向量,而不是我想要的点的子集。
2条答案
按热度按时间uz75evzq1#
我对你想要的输出做了一个假设。
我只使用
mtcars
数据集。此外,我使用tidyverse
-包。字符串
首先,我想在给定条件下对数据集进行子集化,并从这些子集中提取大小为
n
的样本:型
idx_sample
包含了我的样本数据集子集化后的索引。因此,型
给出了采样子集。
tp5buhyn2#
Spatialpoints空间点框架的工作方式与常规框架类似,您可以使用方括号对行和列进行子集化或选择,例如,[1:3,c(2,4,5)]表示列2,4,5的行1:3
在你已经正确地将你的spdf子集化到你想要的子组之后:
字符串
你需要用你的随机样本再做一次子集
型
(do你想从原始的行数或从你的acr2子集中的行数中提取子集?)
这个向量现在包含随机的行号,所以你可以从子集中选择:
型
理论上,你也可以把样本函数放在那里,但这可能看起来很混乱:
型