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=