Before we get started, we need to loaded some packages into R.

1 Load Packages

library(sf)
library(dplyr)

2 Load Shapefile

shp <- st_read("PetaSHP514.shp")
## Reading layer `PetaSHP514' from data source 
##   `D:\2. Pengembangan diri\1 Exercise Bagus\Spasial in R\Spasial\PetaSHP514.shp' 
##   using driver `ESRI Shapefile'
## Simple feature collection with 514 features and 8 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 95.00971 ymin: -11.00766 xmax: 141.02 ymax: 6.076809
## Geodetic CRS:  WGS 84

Check the names of variables

colnames(shp)
## [1] "fid"      "idkab"    "nmprov"   "nmkab"    "kdprov"   "kdkab"    "sumber"  
## [8] "periode"  "geometry"
head(shp)
## Simple feature collection with 6 features and 8 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 95.38562 ymin: 2.004084 xmax: 98.19707 ymax: 5.250098
## Geodetic CRS:  WGS 84
##    fid idkab nmprov         nmkab kdprov kdkab sumber periode
## 1    1  1101   ACEH      SIMEULUE     11    01    BPS  2020_1
## 2  142  1102   ACEH  ACEH SINGKIL     11    02    BPS  2020_1
## 3  262  1103   ACEH  ACEH SELATAN     11    03    BPS  2020_1
## 4  522  1104   ACEH ACEH TENGGARA     11    04    BPS  2020_1
## 5  919  1105   ACEH    ACEH TIMUR     11    05    BPS  2020_1
## 6 1434  1106   ACEH   ACEH TENGAH     11    06    BPS  2020_1
##                         geometry
## 1 MULTIPOLYGON (((95.39021 2....
## 2 MULTIPOLYGON (((97.11598 2....
## 3 MULTIPOLYGON (((96.94296 3....
## 4 MULTIPOLYGON (((97.46701 3....
## 5 MULTIPOLYGON (((97.61122 4....
## 6 MULTIPOLYGON (((96.42325 4....

3 Subsetting

unique_provinces <- unique(shp$nmprov)  # Take the unique provinces
## Deleting layer `peta_ACEH' using driver `ESRI Shapefile'
## Writing layer `peta_ACEH' to data source `peta_ACEH.shp' using driver `ESRI Shapefile'
## Writing 23 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_SUMATERA_UTARA' using driver `ESRI Shapefile'
## Writing layer `peta_SUMATERA_UTARA' to data source 
##   `peta_SUMATERA_UTARA.shp' using driver `ESRI Shapefile'
## Writing 33 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_SUMATERA_BARAT' using driver `ESRI Shapefile'
## Writing layer `peta_SUMATERA_BARAT' to data source 
##   `peta_SUMATERA_BARAT.shp' using driver `ESRI Shapefile'
## Writing 19 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_RIAU' using driver `ESRI Shapefile'
## Writing layer `peta_RIAU' to data source `peta_RIAU.shp' using driver `ESRI Shapefile'
## Writing 12 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_JAMBI' using driver `ESRI Shapefile'
## Writing layer `peta_JAMBI' to data source 
##   `peta_JAMBI.shp' using driver `ESRI Shapefile'
## Writing 11 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_SUMATERA_SELATAN' using driver `ESRI Shapefile'
## Writing layer `peta_SUMATERA_SELATAN' to data source 
##   `peta_SUMATERA_SELATAN.shp' using driver `ESRI Shapefile'
## Writing 17 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_BENGKULU' using driver `ESRI Shapefile'
## Writing layer `peta_BENGKULU' to data source 
##   `peta_BENGKULU.shp' using driver `ESRI Shapefile'
## Writing 10 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_LAMPUNG' using driver `ESRI Shapefile'
## Writing layer `peta_LAMPUNG' to data source 
##   `peta_LAMPUNG.shp' using driver `ESRI Shapefile'
## Writing 15 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_KEPULAUAN_BANGKA_BELITUNG' using driver `ESRI Shapefile'
## Writing layer `peta_KEPULAUAN_BANGKA_BELITUNG' to data source 
##   `peta_KEPULAUAN_BANGKA_BELITUNG.shp' using driver `ESRI Shapefile'
## Writing 7 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_KEPULAUAN_RIAU' using driver `ESRI Shapefile'
## Writing layer `peta_KEPULAUAN_RIAU' to data source 
##   `peta_KEPULAUAN_RIAU.shp' using driver `ESRI Shapefile'
## Writing 7 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_DKI_JAKARTA' using driver `ESRI Shapefile'
## Writing layer `peta_DKI_JAKARTA' to data source 
##   `peta_DKI_JAKARTA.shp' using driver `ESRI Shapefile'
## Writing 6 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_JAWA_BARAT' using driver `ESRI Shapefile'
## Writing layer `peta_JAWA_BARAT' to data source 
##   `peta_JAWA_BARAT.shp' using driver `ESRI Shapefile'
## Writing 27 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_JAWA_TENGAH' using driver `ESRI Shapefile'
## Writing layer `peta_JAWA_TENGAH' to data source 
##   `peta_JAWA_TENGAH.shp' using driver `ESRI Shapefile'
## Writing 35 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_DI_YOGYAKARTA' using driver `ESRI Shapefile'
## Writing layer `peta_DI_YOGYAKARTA' to data source 
##   `peta_DI_YOGYAKARTA.shp' using driver `ESRI Shapefile'
## Writing 5 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_JAWA_TIMUR' using driver `ESRI Shapefile'
## Writing layer `peta_JAWA_TIMUR' to data source 
##   `peta_JAWA_TIMUR.shp' using driver `ESRI Shapefile'
## Writing 38 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_BANTEN' using driver `ESRI Shapefile'
## Writing layer `peta_BANTEN' to data source 
##   `peta_BANTEN.shp' using driver `ESRI Shapefile'
## Writing 8 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_BALI' using driver `ESRI Shapefile'
## Writing layer `peta_BALI' to data source `peta_BALI.shp' using driver `ESRI Shapefile'
## Writing 9 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_NUSA_TENGGARA_BARAT' using driver `ESRI Shapefile'
## Writing layer `peta_NUSA_TENGGARA_BARAT' to data source 
##   `peta_NUSA_TENGGARA_BARAT.shp' using driver `ESRI Shapefile'
## Writing 10 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_NUSA_TENGGARA_TIMUR' using driver `ESRI Shapefile'
## Writing layer `peta_NUSA_TENGGARA_TIMUR' to data source 
##   `peta_NUSA_TENGGARA_TIMUR.shp' using driver `ESRI Shapefile'
## Writing 22 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_KALIMANTAN_BARAT' using driver `ESRI Shapefile'
## Writing layer `peta_KALIMANTAN_BARAT' to data source 
##   `peta_KALIMANTAN_BARAT.shp' using driver `ESRI Shapefile'
## Writing 14 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_KALIMANTAN_TENGAH' using driver `ESRI Shapefile'
## Writing layer `peta_KALIMANTAN_TENGAH' to data source 
##   `peta_KALIMANTAN_TENGAH.shp' using driver `ESRI Shapefile'
## Writing 14 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_KALIMANTAN_SELATAN' using driver `ESRI Shapefile'
## Writing layer `peta_KALIMANTAN_SELATAN' to data source 
##   `peta_KALIMANTAN_SELATAN.shp' using driver `ESRI Shapefile'
## Writing 13 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_KALIMANTAN_TIMUR' using driver `ESRI Shapefile'
## Writing layer `peta_KALIMANTAN_TIMUR' to data source 
##   `peta_KALIMANTAN_TIMUR.shp' using driver `ESRI Shapefile'
## Writing 10 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_KALIMANTAN_UTARA' using driver `ESRI Shapefile'
## Writing layer `peta_KALIMANTAN_UTARA' to data source 
##   `peta_KALIMANTAN_UTARA.shp' using driver `ESRI Shapefile'
## Writing 5 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_SULAWESI_UTARA' using driver `ESRI Shapefile'
## Writing layer `peta_SULAWESI_UTARA' to data source 
##   `peta_SULAWESI_UTARA.shp' using driver `ESRI Shapefile'
## Writing 15 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_SULAWESI_TENGAH' using driver `ESRI Shapefile'
## Writing layer `peta_SULAWESI_TENGAH' to data source 
##   `peta_SULAWESI_TENGAH.shp' using driver `ESRI Shapefile'
## Writing 13 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_SULAWESI_SELATAN' using driver `ESRI Shapefile'
## Writing layer `peta_SULAWESI_SELATAN' to data source 
##   `peta_SULAWESI_SELATAN.shp' using driver `ESRI Shapefile'
## Writing 24 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_SULAWESI_TENGGARA' using driver `ESRI Shapefile'
## Writing layer `peta_SULAWESI_TENGGARA' to data source 
##   `peta_SULAWESI_TENGGARA.shp' using driver `ESRI Shapefile'
## Writing 17 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_GORONTALO' using driver `ESRI Shapefile'
## Writing layer `peta_GORONTALO' to data source 
##   `peta_GORONTALO.shp' using driver `ESRI Shapefile'
## Writing 6 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_SULAWESI_BARAT' using driver `ESRI Shapefile'
## Writing layer `peta_SULAWESI_BARAT' to data source 
##   `peta_SULAWESI_BARAT.shp' using driver `ESRI Shapefile'
## Writing 6 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_MALUKU' using driver `ESRI Shapefile'
## Writing layer `peta_MALUKU' to data source 
##   `peta_MALUKU.shp' using driver `ESRI Shapefile'
## Writing 11 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_MALUKU_UTARA' using driver `ESRI Shapefile'
## Writing layer `peta_MALUKU_UTARA' to data source 
##   `peta_MALUKU_UTARA.shp' using driver `ESRI Shapefile'
## Writing 10 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_PAPUA_BARAT' using driver `ESRI Shapefile'
## Writing layer `peta_PAPUA_BARAT' to data source 
##   `peta_PAPUA_BARAT.shp' using driver `ESRI Shapefile'
## Writing 13 features with 8 fields and geometry type Multi Polygon.
## Deleting layer `peta_PAPUA' using driver `ESRI Shapefile'
## Writing layer `peta_PAPUA' to data source 
##   `peta_PAPUA.shp' using driver `ESRI Shapefile'
## Writing 29 features with 8 fields and geometry type Multi Polygon.
## [1] "Shapefile per provinsi berhasil disimpan!"

Direktorat Statistik Kesejahteraan Rakyat, BPS,