Хүснэгтийг хил хязгаартай нэг алхамд холбоно. by баганад дурын түгээмэл
бичлэгийн нэр, кирил нэр, ҮСХ-ны код, ISO код эсвэл P-код байж болно;
тэдгээрийг mn_match()-ээр тааруулна. Тухайн түвшний бүх нэгж үлддэг
тул өгөгдөлгүй газар ч газрын зураг дээр (NA-тай) харагдана.
Usage
mn_join(
data,
by,
level = NULL,
by_parent = NULL,
within = NULL,
drop_other_levels = TRUE,
resolution = c("low", "high"),
lang = NULL,
crs = NULL
)Arguments
- data
Хүснэгт (data frame).
- by
dataдахь газрын нэр эсвэл кодын багана, тэмдэгт мөр эсвэл хашилтгүй баганын нэрээр.- level
byдахь газруудын түвшин.NULLбол автоматаар тодорхойлно.- by_parent
Мөр бүрийн дээд нэгжийг (жишээ нь сум бүрийн аймгийг) заах
dataдахь нэмэлт багана. Сум эсвэл багийн нэр улс даяар давхардах үед хэрэгтэй.- within
Зөвхөн эдгээр газар доторх нэгжүүд, эсвэл эдгээр газрыг өөрсдийг нь үлдээнэ: дурын түвшний нэр эсвэл код, жишээ нь
"Ховд","MN84","Баруун бүс".- drop_other_levels
TRUE(анхдагч) бол бусад түвшний нэгжийн мөрийг, жишээ нь сумын хүснэгт дэх улсын болон аймгийн дүнг, нэг мэдэгдэлтэйгээр хасна.FALSEбол тэдгээрийг тохироогүй гэж мэдээлнэ.- resolution
"low"(анхдагч) нь багцтай хамт ирдэг, ихэнх газрын зурагт тохирох хялбаршуулсан хилийг ашиглана."high"нь бүрэн нарийвчлалтай хилийг нэг удаа (ойролцоогоор 10 МБ) татаж, хадгална;mn_cache_dir()-ийг үзнэ үү.- lang
nameбаганын хэл:"en"(англи, ҮСХ-ны хүснэгтийн бичлэгээр),"mn"(кирил) эсвэл"mns"(MNS 5217 стандартын латин, тэмдэгттэй). Анхдагч утга ньgetOption("mongolmaps.lang", "en").- crs
Үр дүнгийн координатын систем.
NULL(анхдагч) бол уртраг, өргөрөг (EPSG:4326) хэвээр. Монголд тохирсон проекцод"albers","lcc"эсвэл"utm"-ийг (mn_crs()-ийг үзнэ үү), эсвэлsf::st_crs()-ийн хүлээн авах дурын утгыг өгнө.
Value
sf tibble: тухайн түвшний бүх нэгжийн хил, data-гийн баганууд
нэмэгдсэн. Хилийн баганатай ижил нэртэй data-гийн баганад .data
дагавар залгана.
Details
Түвшин. level нь NULL бол хамгийн олон тохирол бүхий түвшнийг
ашиглана. ҮСХ-ны хүснэгтүүд нэг баганад хэд хэдэн түвшнийг (улсын дүн, бүс,
аймаг, сум ...) агуулдаг; бусад түвшний мөрийг мэдэгдэлтэйгээр хасна
(drop_other_levels-ийг үзнэ үү). ҮСХ-ны хүснэгтийг нэрийн бус кодын
баганаар (жишээ нь Region) холбоно уу: "Улаанбаатар" гэх мэт нэр нь бүс,
аймгийн аль алиныг заадаг.
Улаанбаатар. Улаанбаатар бүс (ҮСХ-ны код 5) болон нийслэл
(511) нь ижил нутаг дэвсгэрийг хамардаг. ҮСХ-ны олон хүснэгт, ялангуяа
эрүүл мэндийн хүснэгтүүд нийслэлийн тоог зөвхөн бүсийн мөрөнд өгч, 511-ийг
хоосон орхих эсвэл огт оруулдаггүй. Аймгийн түвшинд бүсийн мөрүүд 511-ийн
мөрүүдээс олон утгатай бол тэдгээрийг Улаанбаатарт мэдэгдэлтэйгээр ашиглана.
Цөөн хүснэгт 511-ийг өөр зүйлд (жишээ нь "Бусад") ашигладаг; ийм
хүснэгтийг холбохоосоо өмнө шошгыг нь шалгана уу.
Нэг нэгжид олон мөр. Нэг газарт олон мөр (жишээ нь жил бүрт нэг)
байвал тухайн газрын олигоныг хэд хэдэн удаа давтаж,
ggplot2::facet_wrap()-д бэлэн болгоно.
Хилгүй газар. Тосгон, хөдөөгийн баг ҮСХ-ны кодтой ч хилгүй; тэдгээрийн мөрийг мэдэгдээд хасна.
See also
Өгөгдөл холбох бусад:
mn_example_population
Examples
# Mid-year population from NSO, by aimag and year
pop <- mn_example_population[mn_example_population$Year == 2025, ]
mn_join(pop, by = "Region", level = "aimag")
#> ℹ Joining at the aimag level; dropped 6 rows for larger units ("country" and
#> "region") and 2196 rows for smaller units ("soum" and "bag").
#> Simple feature collection with 22 features and 19 fields
#> Geometry type: MULTIPOLYGON
#> Dimension: XY
#> Bounding box: xmin: 87.7345 ymin: 41.58183 xmax: 119.9315 ymax: 52.14835
#> Geodetic CRS: WGS 84
#> # A tibble: 22 × 20
#> pcode name name_en name_mn name_mns level type number iso_code nso_code
#> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <int> <chr> <chr>
#> 1 MN11 Улаанбаа… Ulaanb… Улаанб… Ulaanba… aimag capi… NA MN-1 511
#> 2 MN21 Дорнод Dornod Дорнод Dornod aimag aimag NA MN-061 421
#> 3 MN22 Сүхбаатар Sukhba… Сүхбаа… Sükhbaa… aimag aimag NA MN-051 422
#> 4 MN23 Хэнтий Khentii Хэнтий Khentii aimag aimag NA MN-039 423
#> 5 MN41 Төв Tuv Төв Töv aimag aimag NA MN-047 341
#> 6 MN42 Говьсүмб… Govisu… Говьсү… Govisüm… aimag aimag NA MN-064 342
#> 7 MN43 Сэлэнгэ Selenge Сэлэнгэ Selenge aimag aimag NA MN-049 343
#> 8 MN44 Дорноговь Dornog… Дорног… Dornogo… aimag aimag NA MN-063 344
#> 9 MN45 Дархан-У… Darkha… Дархан… Darkhan… aimag aimag NA MN-037 345
#> 10 MN46 Өмнөговь Umnugo… Өмнөго… Ömnögovi aimag aimag NA MN-053 346
#> # ℹ 12 more rows
#> # ℹ 10 more variables: parent_pcode <chr>, region_pcode <chr>,
#> # aimag_pcode <chr>, soum_pcode <chr>, area_km2 <dbl>,
#> # geometry <MULTIPOLYGON [°]>, Region <chr>, Region_en <chr>, Year <int>,
#> # value <dbl>
# Khoroos of Ulaanbaatar, from the same table
mn_join(pop, by = "Region", level = "bag", within = "Ulaanbaatar")
#> ℹ Joining at the bag level; dropped 371 rows for larger units ("country",
#> "region", "aimag", and "soum").
#> Simple feature collection with 204 features and 19 fields
#> Geometry type: MULTIPOLYGON
#> Dimension: XY
#> Bounding box: xmin: 106.3626 ymin: 47.30196 xmax: 108.5008 ymax: 48.27193
#> Geodetic CRS: WGS 84
#> # A tibble: 204 × 20
#> pcode name name_en name_mn name_mns level type number iso_code nso_code
#> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <int> <chr> <chr>
#> 1 MN110151 1-р х… 1-r kh… 1-р хо… 1-r kho… bag khor… 1 NA 5110151
#> 2 MN110153 2-р х… 2-r kh… 2-р хо… 2-r kho… bag khor… 2 NA 5110153
#> 3 MN110155 3-р х… 3-r kh… 3-р хо… 3-r kho… bag khor… 3 NA 5110155
#> 4 MN110157 4-р х… 4-r kh… 4-р хо… 4-r kho… bag khor… 4 NA 5110157
#> 5 MN110159 5-р х… 5-r kh… 5-р хо… 5-r kho… bag khor… 5 NA 5110159
#> 6 MN110451 1-р х… 1-r kh… 1-р хо… 1-r kho… bag khor… 1 NA 5110451
#> 7 MN110453 2-р х… 2-r kh… 2-р хо… 2-r kho… bag khor… 2 NA 5110453
#> 8 MN110751 1-р х… 1-r kh… 1-р хо… 1-r kho… bag khor… 1 NA 5110751
#> 9 MN110752 26-р … 26-r k… 26-р х… 26-r kh… bag khor… 26 NA 5110752
#> 10 MN110753 2-р х… 2-r kh… 2-р хо… 2-r kho… bag khor… 2 NA 5110753
#> # ℹ 194 more rows
#> # ℹ 10 more variables: parent_pcode <chr>, region_pcode <chr>,
#> # aimag_pcode <chr>, soum_pcode <chr>, area_km2 <dbl>,
#> # geometry <MULTIPOLYGON [°]>, Region <chr>, Region_en <chr>, Year <int>,
#> # value <dbl>
# Names in any spelling work
df <- data.frame(aimag = c("Khovsgol", "Hovd", "\\u0423\\u0432\\u0441"), value = 1:3)
mn_join(df, aimag)
#> Warning: 1 value could not be matched and became "NA":
#> • \u0423\u0432\u0441
#> Simple feature collection with 22 features and 17 fields
#> Geometry type: MULTIPOLYGON
#> Dimension: XY
#> Bounding box: xmin: 87.7345 ymin: 41.58183 xmax: 119.9315 ymax: 52.14835
#> Geodetic CRS: WGS 84
#> # A tibble: 22 × 18
#> pcode name name_en name_mn name_mns level type number iso_code nso_code
#> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <int> <chr> <chr>
#> 1 MN11 Улаанбаа… Ulaanb… Улаанб… Ulaanba… aimag capi… NA MN-1 511
#> 2 MN21 Дорнод Dornod Дорнод Dornod aimag aimag NA MN-061 421
#> 3 MN22 Сүхбаатар Sukhba… Сүхбаа… Sükhbaa… aimag aimag NA MN-051 422
#> 4 MN23 Хэнтий Khentii Хэнтий Khentii aimag aimag NA MN-039 423
#> 5 MN41 Төв Tuv Төв Töv aimag aimag NA MN-047 341
#> 6 MN42 Говьсүмб… Govisu… Говьсү… Govisüm… aimag aimag NA MN-064 342
#> 7 MN43 Сэлэнгэ Selenge Сэлэнгэ Selenge aimag aimag NA MN-049 343
#> 8 MN44 Дорноговь Dornog… Дорног… Dornogo… aimag aimag NA MN-063 344
#> 9 MN45 Дархан-У… Darkha… Дархан… Darkhan… aimag aimag NA MN-037 345
#> 10 MN46 Өмнөговь Umnugo… Өмнөго… Ömnögovi aimag aimag NA MN-053 346
#> # ℹ 12 more rows
#> # ℹ 8 more variables: parent_pcode <chr>, region_pcode <chr>,
#> # aimag_pcode <chr>, soum_pcode <chr>, area_km2 <dbl>,
#> # geometry <MULTIPOLYGON [°]>, aimag <chr>, value <int>