{"id":836,"date":"2020-08-18T07:31:00","date_gmt":"2020-08-18T00:31:00","guid":{"rendered":"http:\/\/www.gis2me.com\/geospatial\/?p=836"},"modified":"2025-04-30T09:16:40","modified_gmt":"2025-04-30T02:16:40","slug":"r-studio-ep20-%e0%b8%95%e0%b8%81%e0%b9%81%e0%b8%95%e0%b9%88%e0%b8%87%e0%b8%aa%e0%b8%b1%e0%b8%8d%e0%b8%a5%e0%b8%b1%e0%b8%81%e0%b8%a9%e0%b8%93%e0%b9%8c-25-%e0%b8%a5%e0%b8%b8%e0%b9%88%e0%b8%a1","status":"publish","type":"post","link":"http:\/\/www.gis2me.com\/geospatial\/?p=836","title":{"rendered":"R-studio : ( EP#20 ) \u0e15\u0e01\u0e41\u0e15\u0e48\u0e07\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c 25 \u0e25\u0e38\u0e48\u0e21\u0e19\u0e49\u0e33 shapefile \u0e14\u0e49\u0e27\u0e22 Unique Value \u0e43\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 R"},"content":{"rendered":"<p>R-studio : ( EP#20 ) \u0e15\u0e01\u0e41\u0e15\u0e48\u0e07\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c 25 \u0e25\u0e38\u0e48\u0e21\u0e19\u0e49\u0e33 shapefile \u0e14\u0e49\u0e27\u0e22 Unique Value \u0e43\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 R\u00a0<br \/><strong data-start=\"23\" data-end=\"84\">EP#20: \u0e01\u0e32\u0e23\u0e15\u0e01\u0e41\u0e15\u0e48\u0e07\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e25\u0e38\u0e48\u0e21\u0e19\u0e49\u0e33\u0e17\u0e31\u0e49\u0e07 25 \u0e25\u0e38\u0e48\u0e21\u0e19\u0e49\u0e33\u0e02\u0e2d\u0e07\u0e44\u0e17\u0e22\u0e43\u0e19 R<\/strong> \u0e14\u0e49\u0e27\u0e22\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e04\u0e48\u0e32\u0e04\u0e38\u0e13\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30 (Unique Value) \u0e16\u0e37\u0e2d\u0e40\u0e1b\u0e47\u0e19\u0e1e\u0e37\u0e49\u0e19\u0e10\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e17\u0e33 thematic mapping \u0e43\u0e19\u0e23\u0e30\u0e1a\u0e1a GIS \u0e14\u0e49\u0e27\u0e22\u0e20\u0e32\u0e29\u0e32 <strong data-start=\"183\" data-end=\"188\">R<\/strong> \u0e42\u0e14\u0e22\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e43\u0e0a\u0e49\u0e23\u0e48\u0e27\u0e21\u0e01\u0e31\u0e1a <strong data-start=\"213\" data-end=\"226\">shapefile<\/strong> \u0e41\u0e25\u0e30 <strong data-start=\"231\" data-end=\"259\">\u0e01\u0e32\u0e23\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e15\u0e32\u0e23\u0e32\u0e07 attribute<\/strong> \u0e43\u0e19\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30 <strong data-start=\"269\" data-end=\"294\">categorical symbology<\/strong><\/p>\n<p>\u0e40\u0e1b\u0e47\u0e19\u0e1a\u0e17\u0e40\u0e23\u0e35\u0e22\u0e19\u0e23\u0e39\u0e49\u0e14\u0e36\u0e07 shapefile 25 \u0e25\u0e38\u0e48\u0e21\u0e19\u0e49\u0e33\u0e02\u0e2d\u0e07\u0e44\u0e17\u0e22 \u0e21\u0e32\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25 \u0e43\u0e19\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a Unique Value \u0e14\u0e49\u0e27\u0e22\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e0a\u0e37\u0e48\u0e2d\u0e25\u0e38\u0e48\u0e21\u0e19\u0e49\u0e33\u0e21\u0e32\u0e40\u0e1b\u0e47\u0e19\u0e15\u0e31\u0e27\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e44\u0e14\u0e49 \u0e14\u0e49\u0e27\u0e22\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 R<\/p>\n<p>\u0e21\u0e35\u0e40\u0e17\u0e04\u0e19\u0e34\u0e04\u0e1e\u0e34\u0e40\u0e28\u0e29 \u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49 Excel \u0e43\u0e19\u0e01\u0e32\u0e23\u0e41\u0e1b\u0e25\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e0a\u0e37\u0e48\u0e2d\u0e25\u0e38\u0e48\u0e21\u0e19\u0e49\u0e33 \u0e21\u0e32\u0e43\u0e2a\u0e48\u0e43\u0e19 R script \u0e44\u0e14\u0e49\u0e2a\u0e30\u0e14\u0e27\u0e01\u0e02\u0e36\u0e49\u0e19<\/p>\n<p>\u0e25\u0e07\u0e17\u0e30\u0e40\u0e1a\u0e35\u0e22\u0e19\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e02\u0e2d\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e44\u0e1f\u0e25\u0e4c R script \u0e44\u0e14\u0e49\u0e17\u0e35\u0e48 \u00a0<\/p>\n<p><a href=\"https:\/\/drive.google.com\/file\/d\/1NUuCvMqk7imv-GYDm24m6e6g4mZkXFxS\/view?usp=sharing\">https:\/\/drive.google.com\/file\/d\/1NUuCvMqk7imv-GYDm24m6e6g4mZkXFxS\/view?usp=sharing<\/a><\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/YmgHCWa5rt0\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udca1 \u0e41\u0e19\u0e27\u0e04\u0e34\u0e14\u0e2b\u0e25\u0e31\u0e01<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0e43\u0e0a\u0e49 <strong>Shapefile \u0e02\u0e2d\u0e07 25 \u0e25\u0e38\u0e48\u0e21\u0e19\u0e49\u0e33\u0e2b\u0e25\u0e31\u0e01\u0e02\u0e2d\u0e07\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22<\/strong><\/li>\n\n\n\n<li>\u0e43\u0e0a\u0e49 <strong>\u0e0a\u0e37\u0e48\u0e2d\u0e25\u0e38\u0e48\u0e21\u0e19\u0e49\u0e33<\/strong> \u0e40\u0e1b\u0e47\u0e19 field \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\u0e41\u0e1c\u0e19\u0e17\u0e35\u0e48\u0e14\u0e49\u0e27\u0e22\u0e2a\u0e35\u0e17\u0e35\u0e48\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e01\u0e31\u0e19 (unique value)<\/li>\n\n\n\n<li>\u0e15\u0e01\u0e41\u0e15\u0e48\u0e07\u0e2a\u0e35\u0e14\u0e49\u0e27\u0e22 <strong>Color Palette<\/strong> (\u0e08\u0e32\u0e01 <code>RColorBrewer<\/code> \u0e2b\u0e23\u0e37\u0e2d\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e40\u0e2d\u0e07)<\/li>\n\n\n\n<li>\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\u0e43\u0e19 <strong>Leaflet<\/strong> \u0e2b\u0e23\u0e37\u0e2d <strong>ggplot2<\/strong> \u0e15\u0e32\u0e21\u0e04\u0e27\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udee0\ufe0f \u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e01\u0e32\u0e23\u0e17\u0e33\u0e43\u0e19 R<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. \u0e19\u0e33\u0e40\u0e02\u0e49\u0e32 Shapefile<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">rCopyEdit<code>library(sf)\nlibrary(tmap)\n\n# \u0e2d\u0e48\u0e32\u0e19 shapefile \u0e25\u0e38\u0e48\u0e21\u0e19\u0e49\u0e33\nbasin &lt;- st_read(\"TH_Basin_25.shp\")\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2. \u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e0a\u0e37\u0e48\u0e2d\u0e25\u0e38\u0e48\u0e21\u0e19\u0e49\u0e33<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">rCopyEdit<code>unique(basin$BASIN_NAME)\n<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>\ud83d\udca1 \u0e40\u0e17\u0e04\u0e19\u0e34\u0e04<\/strong>: \u0e16\u0e49\u0e32 BASIN_NAME \u0e40\u0e1b\u0e47\u0e19\u0e20\u0e32\u0e29\u0e32\u0e44\u0e17\u0e22\u0e2b\u0e23\u0e37\u0e2d\u0e21\u0e35\u0e1b\u0e31\u0e0d\u0e2b\u0e32 encoding \u0e43\u0e2b\u0e49\u0e43\u0e0a\u0e49 <code>iconv()<\/code> \u0e2b\u0e23\u0e37\u0e2d\u0e41\u0e01\u0e49\u0e43\u0e19 Excel \u0e41\u0e25\u0e49\u0e27\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e43\u0e2b\u0e21\u0e48\u0e43\u0e19 R<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">3. \u0e2a\u0e23\u0e49\u0e32\u0e07 thematic map \u0e14\u0e49\u0e27\u0e22 <code>tmap<\/code><\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">rCopyEdit<code>library(RColorBrewer)\n\ntmap_mode(\"view\") # \u0e2b\u0e23\u0e37\u0e2d \"plot\" \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a static\ntm_shape(basin) +\n  tm_polygons(\"BASIN_NAME\",\n              palette = \"Set3\",\n              title = \"\u0e25\u0e38\u0e48\u0e21\u0e19\u0e49\u0e33\u0e2b\u0e25\u0e31\u0e01\u0e02\u0e2d\u0e07\u0e44\u0e17\u0e22\") +\n  tm_layout(legend.outside = TRUE)\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udcca \u0e40\u0e17\u0e04\u0e19\u0e34\u0e04\u0e40\u0e2a\u0e23\u0e34\u0e21: \u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49 Excel \u0e0a\u0e48\u0e27\u0e22\u0e2a\u0e23\u0e49\u0e32\u0e07 Color Mapping<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e15\u0e32\u0e23\u0e32\u0e07\u0e2a\u0e35\u0e43\u0e19 Excel:<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>BASIN_NAME<\/th><th>COLOR<\/th><\/tr><\/thead><tbody><tr><td>\u0e40\u0e08\u0e49\u0e32\u0e1e\u0e23\u0e30\u0e22\u0e32<\/td><td>#1f77b4<\/td><\/tr><tr><td>\u0e1b\u0e48\u0e32\u0e2a\u0e31\u0e01<\/td><td>#ff7f0e<\/td><\/tr><tr><td>\u0e41\u0e21\u0e48\u0e01\u0e25\u0e2d\u0e07<\/td><td>#2ca02c<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32\u0e41\u0e25\u0e30 merge \u0e40\u0e02\u0e49\u0e32\u0e01\u0e31\u0e1a shapefile:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\">rCopyEdit<code>colors_df &lt;- read.csv(\"basin_colors.csv\")\nbasin &lt;- merge(basin, colors_df, by = \"BASIN_NAME\")\n<\/code><\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>\u0e43\u0e0a\u0e49 <code>tm_fill<\/code> \u0e1e\u0e23\u0e49\u0e2d\u0e21 <code>col<\/code> \u0e17\u0e35\u0e48\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e40\u0e2d\u0e07:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\">rCopyEdit<code>tm_shape(basin) +\n  tm_fill(col = \"COLOR\", title = \"\u0e25\u0e38\u0e48\u0e21\u0e19\u0e49\u0e33\", alpha = 0.7)\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83c\udf10 \u0e2a\u0e48\u0e07\u0e2d\u0e2d\u0e01 HTML Map<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\">rCopyEdit<code>library(leaflet)\npal &lt;- colorFactor(palette = \"Set3\", domain = basin$BASIN_NAME)\n\nleaflet(basin) %&gt;%\n  addTiles() %&gt;%\n  addPolygons(color = ~pal(BASIN_NAME),\n              popup = ~BASIN_NAME,\n              weight = 1) %&gt;%\n  addLegend(\"bottomright\", pal = pal, values = ~BASIN_NAME,\n            title = \"\u0e25\u0e38\u0e48\u0e21\u0e19\u0e49\u0e33\")\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udce5 \u0e14\u0e32\u0e27\u0e19\u0e4c\u0e42\u0e2b\u0e25\u0e14\u0e44\u0e1f\u0e25\u0e4c\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83c\udf93 \u0e25\u0e34\u0e07\u0e01\u0e4c R Script + Shapefile:<br><a class=\"\" href=\"https:\/\/drive.google.com\/file\/d\/1NUuCvMqk7imv-GYDm24m6e6g4mZkXFxS\/view?usp=sharing\">Google Drive: R script EP#20<\/a><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>R-studio : ( EP#20 ) \u0e15\u0e01\u0e41\u0e15\u0e48\u0e07\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c 25 \u0e25\u0e38\u0e48\u0e21\u0e19\u0e49\u0e33 shapefi [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1],"tags":[451,447,440,443,442,439,449,441,371,450,448,106,444,446,445],"class_list":["post-836","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-ggplot2-map","tag-gis-visualization","tag-gis--r","tag-leaflet","tag-r","tag-r-studio","tag-r-","tag-rcolorbrewer","tag-shapefile","tag-spatial-data-r","tag-thailand-basin","tag-thematic-mapping","tag-tmap","tag-unique-value-mapping","tag--shapefile"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/www.gis2me.com\/geospatial\/index.php?rest_route=\/wp\/v2\/posts\/836","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.gis2me.com\/geospatial\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.gis2me.com\/geospatial\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.gis2me.com\/geospatial\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.gis2me.com\/geospatial\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=836"}],"version-history":[{"count":3,"href":"http:\/\/www.gis2me.com\/geospatial\/index.php?rest_route=\/wp\/v2\/posts\/836\/revisions"}],"predecessor-version":[{"id":1041,"href":"http:\/\/www.gis2me.com\/geospatial\/index.php?rest_route=\/wp\/v2\/posts\/836\/revisions\/1041"}],"wp:attachment":[{"href":"http:\/\/www.gis2me.com\/geospatial\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=836"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gis2me.com\/geospatial\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=836"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gis2me.com\/geospatial\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=836"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}