This is an R Markdown Notebook. When you execute code within the notebook, the results appear beneath the code.

Try executing this chunk by clicking the Run button within the chunk or by placing your cursor inside it and pressing Cmd+Shift+Enter.

Load required library

library(ggplot2)
library(maptools)
Checking rgeos availability: TRUE
library(rgeos)
rgeos version: 0.3-26, (SVN revision 560)
 GEOS runtime version: 3.6.1-CAPI-1.10.1 r0 
 Linking to sp version: 1.2-5 
 Polygon checking: TRUE 
library(ggmap)
Google Maps API Terms of Service: http://developers.google.com/maps/terms.
Please cite ggmap if you use it: see citation('ggmap') for details.
library(scales)
library(RColorBrewer)
set.seed(8000)

Load the India shapefile from the directory

shp <- readShapeSpatial('~/Dropbox/PhD_Arka/Exploratory Indian Data Analysis/India Shapefile With Kashmir/india_shapefile_git/Admin2.shp')
use rgdal::readOGR or sf::st_readuse rgdal::readOGR or sf::st_read

If you just plot the shapefile, remove the # and run the code, otherwise skip the code

#plot(shp)

If you want to Look into the shapefile attributes and content names remove # and run the code, otherwise skip the code

#names(shp)
#print(shp$ST_NM)

Craete a csv file with attribute state name (here ‘id’) and count of data (here ‘count’) and then read the csv

imr=read.csv('~/Dropbox/PhD_Arka/Exploratory Indian Data Analysis/health stat/IMR_R.csv')

Fortify shape into a dataframe

shp.f <- fortify(shp, region = "ST_NM")

Merge shapefile with csv file

merge.shp.coef<-merge(shp.f,imr, by="id", all.x=TRUE)
final.plot<-merge.shp.coef[order(merge.shp.coef$order), ]

Creating the map

ggplot()+geom_polygon(data = final.plot,aes(x = long, y = lat, group = group, fill = count),color = "black", size = 0.25) + coord_map()
ggsave("India_IMR_2013_BLUE.png",dpi = 300, width = 20, height = 20, units = "cm")

Creating a map with different color

ggplot() +
  geom_polygon(data = final.plot,
               aes(x = long, y = lat, group = group, fill = count), 
               color = "black", size = 0.25) + 
  coord_map()+
  scale_fill_distiller(name="IMR", palette = "YlGn")+
  labs(title="IMR of Different States of India 2013")+
  xlab('Longitude')+
  ylab('Latitude')
ggsave("India_IMR_2013_YlGn.png",dpi = 300, width = 20, height = 20, units = "cm")

Creating a map with gradient fill

ggplot() +
  geom_polygon(data = final.plot,
               aes(x = long, y = lat, group = group, fill = count), 
               color = "black", size = 0.25) + 
  coord_map()+
  scale_fill_gradient(name="IMR", limits=c(0,100), low = 'white', high = 'red')+
  labs(title="IMR of Different States of India 2013")+
  xlab('Longitude')+
  ylab('Latitude')
ggsave("India_IMR_2013_NO_ST_NAME.png",dpi = 300, width = 20, height = 20, units = "cm")

Creating map with states name Aggregating the location for mapping

cnames <- aggregate(cbind(long, lat) ~ id, data=final.plot, FUN=function(x) mean(range(x)))

plotting the location in the map

ggplot() +
  geom_polygon(data = final.plot,
               aes(x = long, y = lat, group = group, fill = count), 
               color = "black", size = 0.25) + 
  coord_map()+
  scale_fill_gradient(name="IMR", limits=c(0,100), low = 'white', high = 'red')+
  labs(title="IMR of Different States of India 2013")+
  xlab('Longitude')+
  ylab('Latitude')+
  geom_text(data=cnames, aes(long, lat, label = id), size=3, fontface="bold")
ggsave("India_IMR_2013.png",dpi = 300, width = 20, height = 20, units = "cm")

LS0tCnRpdGxlOiAiUiBOb3RlYm9vayBmb3IgTWFwcGluZyBDaG9yb3BsZXRoIG1hcCBvZiBmdWxsIEluZGlhIgphdXRob3I6ICJEci4gQXJrYXByYWJoYSBTYXUsIE1CQlMsTUQoR29sZCBNZWRhbGlzdCkiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KClRoaXMgaXMgYW4gW1IgTWFya2Rvd25dKGh0dHA6Ly9ybWFya2Rvd24ucnN0dWRpby5jb20pIE5vdGVib29rLiBXaGVuIHlvdSBleGVjdXRlIGNvZGUgd2l0aGluIHRoZSBub3RlYm9vaywgdGhlIHJlc3VsdHMgYXBwZWFyIGJlbmVhdGggdGhlIGNvZGUuIAoKVHJ5IGV4ZWN1dGluZyB0aGlzIGNodW5rIGJ5IGNsaWNraW5nIHRoZSAqUnVuKiBidXR0b24gd2l0aGluIHRoZSBjaHVuayBvciBieSBwbGFjaW5nIHlvdXIgY3Vyc29yIGluc2lkZSBpdCBhbmQgcHJlc3NpbmcgKkNtZCtTaGlmdCtFbnRlciouIAoKTG9hZCByZXF1aXJlZCBsaWJyYXJ5CmBgYHtyfQpsaWJyYXJ5KGdncGxvdDIpCmxpYnJhcnkobWFwdG9vbHMpCmxpYnJhcnkocmdlb3MpCmxpYnJhcnkoZ2dtYXApCmxpYnJhcnkoc2NhbGVzKQpsaWJyYXJ5KFJDb2xvckJyZXdlcikKc2V0LnNlZWQoODAwMCkKYGBgCgpMb2FkIHRoZSBJbmRpYSBzaGFwZWZpbGUgZnJvbSB0aGUgZGlyZWN0b3J5CmBgYHtyfQpzaHAgPC0gcmVhZFNoYXBlU3BhdGlhbCgnfi9Ecm9wYm94L1BoRF9BcmthL0V4cGxvcmF0b3J5IEluZGlhbiBEYXRhIEFuYWx5c2lzL0luZGlhIFNoYXBlZmlsZSBXaXRoIEthc2htaXIvaW5kaWFfc2hhcGVmaWxlX2dpdC9BZG1pbjIuc2hwJykKYGBgCgpJZiB5b3UganVzdCBwbG90IHRoZSBzaGFwZWZpbGUsIHJlbW92ZSB0aGUgIyBhbmQgcnVuIHRoZSBjb2RlLCBvdGhlcndpc2Ugc2tpcCB0aGUgY29kZQpgYGB7cn0KI3Bsb3Qoc2hwKQpgYGAKCklmIHlvdSB3YW50IHRvIExvb2sgaW50byB0aGUgc2hhcGVmaWxlIGF0dHJpYnV0ZXMgYW5kIGNvbnRlbnQgbmFtZXMgcmVtb3ZlICMgYW5kIHJ1biB0aGUgY29kZSwgb3RoZXJ3aXNlIHNraXAgdGhlIGNvZGUKYGBge3J9CiNuYW1lcyhzaHApCiNwcmludChzaHAkU1RfTk0pCmBgYAoKQ3JhZXRlIGEgY3N2IGZpbGUgd2l0aCBhdHRyaWJ1dGUgc3RhdGUgbmFtZSAoaGVyZSAnaWQnKSBhbmQgY291bnQgb2YgZGF0YSAoaGVyZSAnY291bnQnKSAgYW5kIHRoZW4gcmVhZCB0aGUgY3N2CmBgYHtyfQppbXI9cmVhZC5jc3YoJ34vRHJvcGJveC9QaERfQXJrYS9FeHBsb3JhdG9yeSBJbmRpYW4gRGF0YSBBbmFseXNpcy9oZWFsdGggc3RhdC9JTVJfUi5jc3YnKQpgYGAKCkZvcnRpZnkgc2hhcGUgaW50byBhIGRhdGFmcmFtZQpgYGB7cn0Kc2hwLmYgPC0gZm9ydGlmeShzaHAsIHJlZ2lvbiA9ICJTVF9OTSIpCmBgYAoKTWVyZ2Ugc2hhcGVmaWxlIHdpdGggY3N2IGZpbGUKYGBge3J9Cm1lcmdlLnNocC5jb2VmPC1tZXJnZShzaHAuZixpbXIsIGJ5PSJpZCIsIGFsbC54PVRSVUUpCmZpbmFsLnBsb3Q8LW1lcmdlLnNocC5jb2VmW29yZGVyKG1lcmdlLnNocC5jb2VmJG9yZGVyKSwgXQpgYGAKCkNyZWF0aW5nIHRoZSBtYXAKYGBge3J9CmdncGxvdCgpK2dlb21fcG9seWdvbihkYXRhID0gZmluYWwucGxvdCxhZXMoeCA9IGxvbmcsIHkgPSBsYXQsIGdyb3VwID0gZ3JvdXAsIGZpbGwgPSBjb3VudCksY29sb3IgPSAiYmxhY2siLCBzaXplID0gMC4yNSkgKyBjb29yZF9tYXAoKQoKZ2dzYXZlKCJJbmRpYV9JTVJfMjAxM19CTFVFLnBuZyIsZHBpID0gMzAwLCB3aWR0aCA9IDIwLCBoZWlnaHQgPSAyMCwgdW5pdHMgPSAiY20iKQoKYGBgCgpDcmVhdGluZyBhIG1hcCB3aXRoIGRpZmZlcmVudCBjb2xvcgpgYGB7cn0KZ2dwbG90KCkgKwogIGdlb21fcG9seWdvbihkYXRhID0gZmluYWwucGxvdCwKICAgICAgICAgICAgICAgYWVzKHggPSBsb25nLCB5ID0gbGF0LCBncm91cCA9IGdyb3VwLCBmaWxsID0gY291bnQpLCAKICAgICAgICAgICAgICAgY29sb3IgPSAiYmxhY2siLCBzaXplID0gMC4yNSkgKyAKICBjb29yZF9tYXAoKSsKICBzY2FsZV9maWxsX2Rpc3RpbGxlcihuYW1lPSJJTVIiLCBwYWxldHRlID0gIllsR24iKSsKICBsYWJzKHRpdGxlPSJJTVIgb2YgRGlmZmVyZW50IFN0YXRlcyBvZiBJbmRpYSAyMDEzIikrCiAgeGxhYignTG9uZ2l0dWRlJykrCiAgeWxhYignTGF0aXR1ZGUnKQoKZ2dzYXZlKCJJbmRpYV9JTVJfMjAxM19ZbEduLnBuZyIsZHBpID0gMzAwLCB3aWR0aCA9IDIwLCBoZWlnaHQgPSAyMCwgdW5pdHMgPSAiY20iKQoKYGBgCgpDcmVhdGluZyBhIG1hcCB3aXRoIGdyYWRpZW50IGZpbGwKYGBge3J9CmdncGxvdCgpICsKICBnZW9tX3BvbHlnb24oZGF0YSA9IGZpbmFsLnBsb3QsCiAgICAgICAgICAgICAgIGFlcyh4ID0gbG9uZywgeSA9IGxhdCwgZ3JvdXAgPSBncm91cCwgZmlsbCA9IGNvdW50KSwgCiAgICAgICAgICAgICAgIGNvbG9yID0gImJsYWNrIiwgc2l6ZSA9IDAuMjUpICsgCiAgY29vcmRfbWFwKCkrCiAgc2NhbGVfZmlsbF9ncmFkaWVudChuYW1lPSJJTVIiLCBsaW1pdHM9YygwLDEwMCksIGxvdyA9ICd3aGl0ZScsIGhpZ2ggPSAncmVkJykrCiAgbGFicyh0aXRsZT0iSU1SIG9mIERpZmZlcmVudCBTdGF0ZXMgb2YgSW5kaWEgMjAxMyIpKwogIHhsYWIoJ0xvbmdpdHVkZScpKwogIHlsYWIoJ0xhdGl0dWRlJykKCmdnc2F2ZSgiSW5kaWFfSU1SXzIwMTNfTk9fU1RfTkFNRS5wbmciLGRwaSA9IDMwMCwgd2lkdGggPSAyMCwgaGVpZ2h0ID0gMjAsIHVuaXRzID0gImNtIikKCmBgYAoKQ3JlYXRpbmcgbWFwIHdpdGggc3RhdGVzIG5hbWUKQWdncmVnYXRpbmcgdGhlIGxvY2F0aW9uIGZvciBtYXBwaW5nCmBgYHtyfQpjbmFtZXMgPC0gYWdncmVnYXRlKGNiaW5kKGxvbmcsIGxhdCkgfiBpZCwgZGF0YT1maW5hbC5wbG90LCBGVU49ZnVuY3Rpb24oeCkgbWVhbihyYW5nZSh4KSkpCmBgYAoKcGxvdHRpbmcgdGhlIGxvY2F0aW9uIGluIHRoZSBtYXAKYGBge3J9CmdncGxvdCgpICsKICBnZW9tX3BvbHlnb24oZGF0YSA9IGZpbmFsLnBsb3QsCiAgICAgICAgICAgICAgIGFlcyh4ID0gbG9uZywgeSA9IGxhdCwgZ3JvdXAgPSBncm91cCwgZmlsbCA9IGNvdW50KSwgCiAgICAgICAgICAgICAgIGNvbG9yID0gImJsYWNrIiwgc2l6ZSA9IDAuMjUpICsgCiAgY29vcmRfbWFwKCkrCiAgc2NhbGVfZmlsbF9ncmFkaWVudChuYW1lPSJJTVIiLCBsaW1pdHM9YygwLDEwMCksIGxvdyA9ICd3aGl0ZScsIGhpZ2ggPSAncmVkJykrCiAgbGFicyh0aXRsZT0iSU1SIG9mIERpZmZlcmVudCBTdGF0ZXMgb2YgSW5kaWEgMjAxMyIpKwogIHhsYWIoJ0xvbmdpdHVkZScpKwogIHlsYWIoJ0xhdGl0dWRlJykrCiAgZ2VvbV90ZXh0KGRhdGE9Y25hbWVzLCBhZXMobG9uZywgbGF0LCBsYWJlbCA9IGlkKSwgc2l6ZT0zLCBmb250ZmFjZT0iYm9sZCIpCgpnZ3NhdmUoIkluZGlhX0lNUl8yMDEzLnBuZyIsZHBpID0gMzAwLCB3aWR0aCA9IDIwLCBoZWlnaHQgPSAyMCwgdW5pdHMgPSAiY20iKQoKYGBgCgo=