それぞれ12のサブ領域を持つ2つの異なる領域を持つシェープファイルがあります。これらの24のサブ領域のシェープファイルをそのシェープファイルとは別にしたいです。パッケージmaptoolsとrgeosを使用して試しましたが、理解できませんでした。非常に高く評価。ありがとう。
シャリフ
それぞれ12のサブ領域を持つ2つの異なる領域を持つシェープファイルがあります。これらの24のサブ領域のシェープファイルをそのシェープファイルとは別にしたいです。パッケージmaptoolsとrgeosを使用して試しましたが、理解できませんでした。非常に高く評価。ありがとう。
シャリフ
対象の列の一意の値に基づいてデータをループに分割し、サブセットデータを書き出すことができます。maptoolsのleuでrgdalを使用していますが、シェープファイルの読み取り/書き込みにmaptools関数を使用するようにコードを簡単に変更できます。
require(sp)
require(rgdal)
# READ SHAPEFILE
dat <- readOGR("C:/DATA", "dat")
# CREATE VECTOR OF UNIQUE SUBREGION VALUES
y <- unique(dat@data$SUBREGIONS)
# CREATE SHAPEFILE FOR EACH SUBREGION AND WRITE OUT
for (i in 1:length(y) ) {
temp <- dat[dat$SUBREGIONS == y[i], ]
writeOGR(temp, dsn=getwd(), y[i], driver="ESRI Shapefile",
overwrite_layer=TRUE)
}