{"id":426,"date":"2014-01-06T21:37:25","date_gmt":"2014-01-07T02:37:25","guid":{"rendered":"http:\/\/homepages.uc.edu\/~yaozo\/wordpress\/?p=426"},"modified":"2014-01-06T21:37:25","modified_gmt":"2014-01-07T02:37:25","slug":"maps-in-r-choropleth-maps","status":"publish","type":"post","link":"https:\/\/zhuoyao.net\/index.php\/2014\/01\/06\/maps-in-r-choropleth-maps\/","title":{"rendered":"Maps in R: choropleth maps"},"content":{"rendered":"<div>\n<div>January 23, 2013<\/div>\n<p>By\u00a0<a title=\"Posts by Max Marchi\" href=\"http:\/\/www.r-bloggers.com\/author\/max-marchi\/\" rel=\"author\">Max Marchi<\/a><\/div>\n<div>\n<p>&nbsp;<\/p>\n<div>\n<div>\n<div>\n<div data-href=\"http:\/\/www.r-bloggers.com\/maps-in-r-choropleth-maps\/\" data-send=\"true\" data-layout=\"button_count\" data-width=\"100\" data-height=\"21\" data-show-faces=\"false\"><iframe loading=\"lazy\" id=\"f2f3b0642\" title=\"Like this content on Facebook.\" name=\"f298aea134\" src=\"http:\/\/www.facebook.com\/plugins\/like.php?api_key=&amp;channel_url=http%3A%2F%2Fstatic.ak.facebook.com%2Fconnect%2Fxd_arbiter.php%3Fversion%3D28%23cb%3Df2515c996%26domain%3Dwww.r-bloggers.com%26origin%3Dhttp%253A%252F%252Fwww.r-bloggers.com%252Ff7d7f0de4%26relation%3Dparent.parent&amp;colorscheme=light&amp;extended_social_context=false&amp;href=http%3A%2F%2Fwww.r-bloggers.com%2Fmaps-in-r-choropleth-maps%2F&amp;layout=button_count&amp;locale=en_US&amp;node_type=link&amp;sdk=joey&amp;send=true&amp;show_faces=false&amp;width=150\" height=\"240\" width=\"320\" scrolling=\"no\"><\/iframe><\/div>\n<\/div>\n<div><iframe loading=\"lazy\" id=\"twitter-widget-0\" title=\"Twitter Tweet Button\" src=\"http:\/\/platform.twitter.com\/widgets\/tweet_button.1387492107.html#_=1389054038141&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.r-bloggers.com%2Fmaps-in-r-choropleth-maps%2F&amp;id=twitter-widget-0&amp;lang=en&amp;original_referer=http%3A%2F%2Fwww.r-bloggers.com%2Fmaps-in-r-choropleth-maps%2F&amp;size=m&amp;text=Maps%20in%20R%3A%20choropleth%20maps&amp;url=http%3A%2F%2Fwww.r-bloggers.com%2Fmaps-in-r-choropleth-maps%2F&amp;via=rbloggers\" height=\"240\" width=\"320\" frameborder=\"0\" scrolling=\"no\" data-twttr-rendered=\"true\"><\/iframe><\/div>\n<div>\n<div id=\"___plusone_0\"><iframe loading=\"lazy\" id=\"I3_1389054042665\" tabindex=\"0\" title=\"+1\" name=\"I3_1389054042665\" src=\"https:\/\/apis.google.com\/u\/0\/_\/+1\/fastbutton?usegapi=1&amp;bsv=o&amp;size=medium&amp;origin=http%3A%2F%2Fwww.r-bloggers.com&amp;url=http%3A%2F%2Fwww.r-bloggers.com%2Fmaps-in-r-choropleth-maps%2F&amp;gsrc=3p&amp;jsh=m%3B%2F_%2Fscs%2Fapps-static%2F_%2Fjs%2Fk%3Doz.gapi.en.8mK89Hl4ugQ.O%2Fm%3D__features__%2Fam%3DEQ%2Frt%3Dj%2Fd%3D1%2Frs%3DAItRSTO-F_zsMi6kXbNisyEib75FQPj_qA#_methods=onPlusOne%2C_ready%2C_close%2C_open%2C_resizeMe%2C_renderstart%2Concircled%2Cdrefresh%2Cerefresh%2Conload&amp;id=I3_1389054042665&amp;parent=http%3A%2F%2Fwww.r-bloggers.com&amp;pfname=&amp;rpctoken=39967235\" height=\"240\" width=\"100%\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" data-gapiattached=\"true\"><\/iframe><\/div>\n<\/div>\n<\/div>\n<div><\/div>\n<\/div>\n<div>(This article was first published on\u00a0<strong><a href=\"http:\/\/www.milanor.net\/blog\/?p=634\">Milano R net<\/a><\/strong>, and kindly contributed to\u00a0<a href=\"http:\/\/www.r-bloggers.com\/\" rel=\"nofollow\">R-bloggers)<\/a><\/div>\n<p>&nbsp;<\/p>\n<p>This is the third article of the\u00a0<strong>Maps in R<\/strong>\u00a0series. After having shown how to draw a\u00a0<a title=\"Maps in R: Introduction - Drawing the map of Europe\" href=\"http:\/\/www.milanor.net\/blog\/?p=534\" target=\"_blank\" rel=\"noopener\">map without placing data<\/a>\u00a0on it and how to\u00a0<a title=\"Maps in R: Plotting data points on a map\" href=\"http:\/\/www.milanor.net\/blog\/?p=594\" target=\"_blank\" rel=\"noopener\">plot point data on a map<\/a>, in this installment the creation of a\u00a0<strong>choropleth map<\/strong>\u00a0will be presented.<\/p>\n<p>A choropleth map is a thematic map featuring regions colored or shaded according to the value assumed by the variable of interest in that particular region.<\/p>\n<p>&nbsp;<\/p>\n<h3>Packages used<\/h3>\n<p>We make use of three packages (plus their dependencies) to produce the maps in this post.<\/p>\n<ul>\n<li><code>maptools<\/code>: a set of tools for reading and handling spatial objects. In particular, it will be used to read .shp files, a common format used by geographic information systems software.<\/li>\n<li><code>ggplot2<\/code>: one of the powerful graphics engines available to R users<\/li>\n<li><code>ggmap<\/code>: a package for spatial visualization using popular on-line mapping systems, such as GoogleMaps or OpenStreetMap.<\/li>\n<\/ul>\n<p>So, let&#8217;s load them into R.<\/p>\n<div><sup><a title=\"WP-CodeBox HowTo?\" href=\"http:\/\/www.ericbess.com\/ericblog\/2008\/03\/03\/wp-codebox\/#examples\" target=\"_blank\" rel=\"noopener\">?<\/a><\/sup><a target=\"_blank\" rel=\"noopener\">View Code<\/a>\u00a0RSPLUS<\/p>\n<div><\/div>\n<\/div>\n<div>\n<table>\n<tbody>\n<tr id=\"p63412\">\n<td id=\"p634code12\">\n<pre>&amp;gt; <a href=\"http:\/\/astrostatistics.psu.edu\/su07\/R\/html\/graphics\/html\/library.html\" target=\"_blank\" rel=\"noopener\">library<\/a>(maptools)\n&amp;gt; <a href=\"http:\/\/astrostatistics.psu.edu\/su07\/R\/html\/graphics\/html\/library.html\" target=\"_blank\" rel=\"noopener\">library<\/a>(ggplot2)\n&amp;gt; <a href=\"http:\/\/astrostatistics.psu.edu\/su07\/R\/html\/graphics\/html\/library.html\" target=\"_blank\" rel=\"noopener\">library<\/a>(ggmap)<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3>Data used<\/h3>\n<p>In order to produce the maps displayed later in this post, we used data publicly available from\u00a0<a href=\"http:\/\/epp.eurostat.ec.europa.eu\/portal\/page\/portal\/eurostat\/home\/\" target=\"_blank\" rel=\"noopener\">Eurostat<\/a>.<\/p>\n<p>The polygons for drawing the administrative boundaries were obtained from this<a title=\"Eurostat Administrative and statistical units\" href=\"http:\/\/epp.eurostat.ec.europa.eu\/portal\/page\/portal\/gisco_Geographical_information_maps\/popups\/references\/administrative_units_statistical_units_1\" target=\"_blank\" rel=\"noopener\">link<\/a>. In particular, the NUTS 2010 shapefile in the 1:60 million scale was downloaded and used. The other available scales would allow the drawing of better defined maps, but at a computational cost. The zipped file has to be extracted in a folder of choice for using it later.<\/p>\n<p><em>Note: for an introduction on NUTS (Nomenclature of territorial units for statistics) classification, look at this\u00a0<a title=\"NUTS on Eurostats\" href=\"http:\/\/epp.eurostat.ec.europa.eu\/portal\/page\/portal\/nuts_nomenclature\/introduction\" target=\"_blank\" rel=\"noopener\">Introduction on Eurostat<\/a>\u00a0website.<\/em><\/p>\n<p>The statistic that will be drawn in the map is the the public expenditure on education as a percentage of the Gross Domestic Product (year 2009), and is one of the many indicators available for download at\u00a0<a title=\"Eurostat Statistics Portal\" href=\"http:\/\/epp.eurostat.ec.europa.eu\/portal\/page\/portal\/statistics\/search_database\" target=\"_blank\" rel=\"noopener\">Eurostat&#8217;s statistics portal<\/a>.<\/p>\n<p>In order to make the following code fully reproducible, I&#8217;m uploading below\u00a0the .csv file I obtained after performing the various selections on the Eurostat portal.<\/p>\n<p>csv file:\u00a0<a href=\"http:\/\/www.milanor.net\/blog\/wp-content\/uploads\/2013\/01\/educ_thexp_1_Data.csv\" target=\"_blank\" rel=\"noopener\">educ_thexp_1_Data<\/a><\/p>\n<p>With the following commands we read both the shapefile and the csv in R.<\/p>\n<div><sup><a title=\"WP-CodeBox HowTo?\" href=\"http:\/\/www.ericbess.com\/ericblog\/2008\/03\/03\/wp-codebox\/#examples\" target=\"_blank\" rel=\"noopener\">?<\/a><\/sup><a target=\"_blank\" rel=\"noopener\">View Code<\/a>\u00a0RSPLUS<\/p>\n<div><\/div>\n<\/div>\n<div>\n<table>\n<tbody>\n<tr id=\"p63413\">\n<td id=\"p634code13\">\n<pre># read administrative boundaries (change folder appropriately)\n&amp;gt; eurMap eurEdueurEdu$Value<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3>Data preparation<\/h3>\n<p>The\u00a0<code>eurMap<\/code>\u00a0object could potentially be used as is to produce a map. In fact, a command as simple as\u00a0<code>plot(eurMap)<\/code>\u00a0would draw the map of Europe at the NUTS-3 level.<\/p>\n<p>However, since we are going to make use of the great versatility of the<code>ggplot2<\/code>\u00a0graphics facility, we need to transform\u00a0<code>eurMap<\/code>\u00a0to a data frame, as that is the only type of object accepted by the\u00a0<code>ggplot()<\/code>\u00a0function. The<code>ggplot2<\/code>\u00a0package has the\u00a0<code>fortify()<\/code>\u00a0function that takes care of said conversion.<\/p>\n<div><sup><a title=\"WP-CodeBox HowTo?\" href=\"http:\/\/www.ericbess.com\/ericblog\/2008\/03\/03\/wp-codebox\/#examples\" target=\"_blank\" rel=\"noopener\">?<\/a><\/sup><a target=\"_blank\" rel=\"noopener\">View Code<\/a>\u00a0RSPLUS<\/p>\n<div><\/div>\n<\/div>\n<div>\n<table>\n<tbody>\n<tr id=\"p63414\">\n<td id=\"p634code14\">\n<pre># convert shp data to data frame for ggplot\n&amp;gt; eurMapDf<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>After that, we can add the data on education expenditure to the newly created data frame. Note that, since administrative borders will be plotted as paths, it&#8217;s important to have them ordered as they have to be drawn.<\/p>\n<div><sup><a title=\"WP-CodeBox HowTo?\" href=\"http:\/\/www.ericbess.com\/ericblog\/2008\/03\/03\/wp-codebox\/#examples\" target=\"_blank\" rel=\"noopener\">?<\/a><\/sup><a target=\"_blank\" rel=\"noopener\">View Code<\/a>\u00a0RSPLUS<\/p>\n<div><\/div>\n<\/div>\n<div>\n<table>\n<tbody>\n<tr id=\"p63415\">\n<td id=\"p634code15\">\n<pre># merge map and data\n&amp;gt; eurEduMapDfeurEduMapDf<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Finally, to avoid the plotting of European territories far away from mainland Europe, we put some coordinates limits to the data, using the\u00a0<code>geocode()<\/code>function we introduced in previous\u00a0<a title=\"Maps in R: Introduction - Drawing the map of Europe\" href=\"http:\/\/www.milanor.net\/blog\/?p=534\" target=\"_blank\" rel=\"noopener\">posts<\/a>.<\/p>\n<div><sup><a title=\"WP-CodeBox HowTo?\" href=\"http:\/\/www.ericbess.com\/ericblog\/2008\/03\/03\/wp-codebox\/#examples\" target=\"_blank\" rel=\"noopener\">?<\/a><\/sup><a target=\"_blank\" rel=\"noopener\">View Code<\/a>\u00a0RSPLUS<\/p>\n<div><\/div>\n<\/div>\n<div>\n<table>\n<tbody>\n<tr id=\"p63416\">\n<td id=\"p634code16\">\n<pre># limit data to main Europe\n&amp;gt; europe.limits  eurEduMapDf  <a href=\"http:\/\/astrostatistics.psu.edu\/su07\/R\/html\/graphics\/html\/min.html\" target=\"_blank\" rel=\"noopener\">min<\/a>(europe.limits$lon) &amp;amp; long &amp;lt; <a href=\"http:\/\/astrostatistics.psu.edu\/su07\/R\/html\/graphics\/html\/max.html\" target=\"_blank\" rel=\"noopener\">max<\/a>(europe.limits$lon) &amp;amp; lat &amp;gt; <a href=\"http:\/\/astrostatistics.psu.edu\/su07\/R\/html\/graphics\/html\/min.html\" target=\"_blank\" rel=\"noopener\">min<\/a>(europe.limits$lat) &amp;amp; lat &amp;lt; <a href=\"http:\/\/astrostatistics.psu.edu\/su07\/R\/html\/graphics\/html\/max.html\" target=\"_blank\" rel=\"noopener\">max<\/a>(europe.limits$lat))<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3>Mapping with ggplot2<\/h3>\n<p>While not specifically designed for the purpose, the\u00a0<code>ggplot2<\/code>\u00a0package is well suited for the display of maps. Let&#8217;s first create an empty map (just showing borders,) by adding a\u00a0<code>geom_path<\/code>\u00a0layer to a\u00a0<code>ggplot()<\/code>\u00a0call.<\/p>\n<div><sup><a title=\"WP-CodeBox HowTo?\" href=\"http:\/\/www.ericbess.com\/ericblog\/2008\/03\/03\/wp-codebox\/#examples\" target=\"_blank\" rel=\"noopener\">?<\/a><\/sup><a target=\"_blank\" rel=\"noopener\">View Code<\/a>\u00a0RSPLUS<\/p>\n<div><\/div>\n<\/div>\n<div>\n<table>\n<tbody>\n<tr id=\"p63417\">\n<td id=\"p634code17\">\n<pre># ggplot mapping\n# data layer\n&amp;gt; m0m1<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>The map in the following image is obtained by typing\u00a0<code>m1<\/code>\u00a0in the R console.<\/p>\n<p><a href=\"http:\/\/www.milanor.net\/blog\/wp-content\/uploads\/2013\/01\/eurEmpty.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.milanor.net\/blog\/wp-content\/uploads\/2013\/01\/eurEmpty-240x300.png\" width=\"240\" height=\"300\" \/><\/a><\/p>\n<p>Then, by adding a\u00a0<code>geom_polygon<\/code>\u00a0layer, we color the country area according to the education expenditure value (stored in the\u00a0<code>Value<\/code>\u00a0column.)<\/p>\n<div><sup><a title=\"WP-CodeBox HowTo?\" href=\"http:\/\/www.ericbess.com\/ericblog\/2008\/03\/03\/wp-codebox\/#examples\" target=\"_blank\" rel=\"noopener\">?<\/a><\/sup><a target=\"_blank\" rel=\"noopener\">View Code<\/a>\u00a0RSPLUS<\/p>\n<div><\/div>\n<\/div>\n<div>\n<table>\n<tbody>\n<tr id=\"p63418\">\n<td id=\"p634code18\">\n<pre># fill with education expenditure data\n&amp;gt; m2<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>And here is the result of typing\u00a0<code>m2<\/code>\u00a0in the R console.<\/p>\n<p><a href=\"http:\/\/www.milanor.net\/blog\/wp-content\/uploads\/2013\/01\/eurFilled.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.milanor.net\/blog\/wp-content\/uploads\/2013\/01\/eurFilled-240x300.png\" width=\"240\" height=\"300\" \/><\/a><\/p>\n<p>The country borders are not visible anymore because the filled polygons have been stacked on top of them. Changing the order of layers will produce a more readable map.<\/p>\n<div><sup><a title=\"WP-CodeBox HowTo?\" href=\"http:\/\/www.ericbess.com\/ericblog\/2008\/03\/03\/wp-codebox\/#examples\" target=\"_blank\" rel=\"noopener\">?<\/a><\/sup><a target=\"_blank\" rel=\"noopener\">View Code<\/a>\u00a0RSPLUS<\/p>\n<div><\/div>\n<\/div>\n<div>\n<table>\n<tbody>\n<tr id=\"p63419\">\n<td id=\"p634code19\">\n<pre># inverse order (to have visible borders)\n&amp;gt; m0  m1  m2  m2<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><a href=\"http:\/\/www.milanor.net\/blog\/wp-content\/uploads\/2013\/01\/eurFilledBorders.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.milanor.net\/blog\/wp-content\/uploads\/2013\/01\/eurFilledBorders-240x300.png\" width=\"240\" height=\"300\" \/><\/a><\/p>\n<h3>Overlay on GoogleMaps<\/h3>\n<p>Polygon and path layers can be overlaid on a map obtained from GoogleMaps (or OpenStreetMaps) using the\u00a0<code>ggmap<\/code>\u00a0package introduced in the previous posts.<\/p>\n<p>It must be noted that the overlaying will work only if the boundary files have the same coordinate system and the same projection of the underlying map. In this case, the combination of Eurostats shapefiles and GoogleMaps works fine.<\/p>\n<div><sup><a title=\"WP-CodeBox HowTo?\" href=\"http:\/\/www.ericbess.com\/ericblog\/2008\/03\/03\/wp-codebox\/#examples\" target=\"_blank\" rel=\"noopener\">?<\/a><\/sup><a target=\"_blank\" rel=\"noopener\">View Code<\/a>\u00a0RSPLUS<\/p>\n<div><\/div>\n<\/div>\n<div>\n<table>\n<tbody>\n<tr id=\"p63420\">\n<td id=\"p634code20\">\n<pre># over a GoogleMap (not working if not correctly projected)\n&amp;gt; map m0 m1m2<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><a href=\"http:\/\/www.milanor.net\/blog\/wp-content\/uploads\/2013\/01\/eurOverlay.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.milanor.net\/blog\/wp-content\/uploads\/2013\/01\/eurOverlay-240x300.png\" width=\"240\" height=\"300\" \/><\/a><\/p>\n<p>As a final touch, let&#8217;s put text on the map. Using the\u00a0<code>summaryBy()<\/code>\u00a0funcion of the\u00a0<code>doBy<\/code>\u00a0package, we calculate average values for multiple variables. The solution of using the average coordinates of all boundary points as the position where to place the text is a lazy one, as appropriate ways to calculate the center of mass of a polygon should be used instead.<\/p>\n<div><sup><a title=\"WP-CodeBox HowTo?\" href=\"http:\/\/www.ericbess.com\/ericblog\/2008\/03\/03\/wp-codebox\/#examples\" target=\"_blank\" rel=\"noopener\">?<\/a><\/sup><a target=\"_blank\" rel=\"noopener\">View Code<\/a>\u00a0RSPLUS<\/p>\n<div><\/div>\n<\/div>\n<div>\n<table>\n<tbody>\n<tr id=\"p63421\">\n<td id=\"p634code21\">\n<pre># add text\n&amp;gt; <a href=\"http:\/\/astrostatistics.psu.edu\/su07\/R\/html\/graphics\/html\/library.html\" target=\"_blank\" rel=\"noopener\">library<\/a>(doBy)\n&amp;gt; txtValm3<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><a href=\"http:\/\/www.milanor.net\/blog\/wp-content\/uploads\/2013\/01\/eurText.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.milanor.net\/blog\/wp-content\/uploads\/2013\/01\/eurText-240x300.png\" width=\"240\" height=\"300\" \/><\/a><\/p>\n<h3>Where to find Shapefiles<\/h3>\n<p>If you are looking for shapefiles, your best choice is probably googling for them. However, here are a few places where you can find them.<\/p>\n<ul>\n<li>The\u00a0<a title=\"Eurostat Administrative and statistical units\" href=\"http:\/\/www.milanor.net\/blog\/?p=429\" target=\"_blank\" rel=\"noopener\">Eurostat page<\/a>\u00a0on Administrative and statistical units mentioned at the beginning of this post.<\/li>\n<li><a title=\"Cartografia ISTAT\" href=\"http:\/\/www.istat.it\/it\/strumenti\/cartografia\" target=\"_blank\" rel=\"noopener\">ISTAT&#8217;s cartography page<\/a>\u00a0for Italian administrative units. Also contains geocoded data points of ports, police stations and many other things.<\/li>\n<li>The\u00a0<a title=\"GADM\" href=\"http:\/\/gadm.org\/\" target=\"_blank\" rel=\"noopener\">Global Administrative Areas<\/a>\u00a0website has worldwide boundaries at various levels in several formats.<\/li>\n<li><a title=\"CShapes\" href=\"http:\/\/nils.weidmann.ws\/projects\/cshapes\" target=\"_blank\" rel=\"noopener\">CShapes<\/a>\u00a0features historical boundaries going back to 1946, thus useful for displaying older data. They can be downloaded as shapefiles, but<code>chsapes<\/code>\u00a0also comes as an R package.<\/li>\n<\/ul>\n<p>View (and download) the full code:<\/p>\n<div><sup><a title=\"WP-CodeBox HowTo?\" href=\"http:\/\/www.ericbess.com\/ericblog\/2008\/03\/03\/wp-codebox\/#examples\" target=\"_blank\" rel=\"noopener\">?<\/a><\/sup>Download\u00a0<a href=\"http:\/\/www.milanor.net\/blog\/wp-content\/plugins\/wp-codebox\/wp-codebox.php?p=634&amp;download=maps3.R\" target=\"_blank\" rel=\"noopener\">maps3.R<\/a><\/p>\n<div><\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<div><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>January 23, 2013 By\u00a0Max Marchi &nbsp; (This article was first published on\u00a0Milano R net, and kindly contributed to\u00a0R-bloggers) &nbsp; This is the third article of&hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[],"class_list":["post-426","post","type-post","status-publish","format-standard","hentry","category-r"],"_links":{"self":[{"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/posts\/426","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/comments?post=426"}],"version-history":[{"count":0,"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/posts\/426\/revisions"}],"wp:attachment":[{"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/media?parent=426"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/categories?post=426"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/tags?post=426"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}