# Thirteen lines of code

**Milano R net**, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Thanks to R-bloggers, I discovered that googleVis 0.4.7 with RStudio integration is available on CRAN.

This is great news, but wasn’t this that catched my eye. At the end of the post a beautiful map shows a terrible event of the last days: the devastating typhoon track of Haiyan that hit Southeast Asia in November.

It was amazing for me that this plot was created with only 13 lines of code, the following ones:

^{?}View Code RSPLUS

library(XML) library(googleVis) url <- "http://www.gdacs.org/Cyclones/report.aspx?eventid=41058&episodeid=28&eventtype=TC" dat <- readHTMLTable(readLines(url), which = 5) dat$latlon <- dat[, 8] levels(dat$latlon) <- sapply(strsplit(levels(dat[, 8]), ",\n "), function(x) paste(x[2], x[1], sep = ":")) dat$Category <- factor(dat$Category, levels = levels(dat$Category)[c(6, 7, 1:5)], ordered = TRUE) dat$cat <- as.numeric(dat$Category) dat$Gust_kmh <- dat[, 6] levels(dat$Gust_kmh) <- sapply(strsplit(levels(dat[, 6]), "km"), function(x) gsub(" ", "", x[1])) dat$Gust_kmh <- as.numeric(as.character(dat$Gust_kmh)) M <- gvisGeoChart(dat, "latlon", sizevar = "cat", colorvar = "Gust_kmh", options = list(region = "035", backgroundColor = "lightblue", datalessRegionColor = "grey")) plot(M) |

To be honest, some more break lines will increase code readibility as reported below, but it is wonderful how this plot can be drawn with so few lines of code: two lines about options (loading libraries), nine lines to import data and only one line to produce the plot (and another one to view it!).

Sometimes, also nice things are easy to be obtained.

^{?}View Code RSPLUS

### Loading packages library(XML) library(googleVis) ### Data import and preparation url <- "http://www.gdacs.org/Cyclones/report.aspx?eventid=41058&episodeid=28&eventtype=TC" dat <- readHTMLTable(readLines(url), which = 5) dat$latlon <- dat[, 8] levels(dat$latlon) <- sapply( strsplit(levels(dat[, 8]), ",\n "), function(x) paste(x[2], x[1], sep = ":") ) dat$Category <- factor(dat$Category, levels = levels(dat$Category)[c(6, 7, 1:5)], ordered = TRUE ) dat$cat <- as.numeric(dat$Category) dat$Gust_kmh <- dat[, 6] levels(dat$Gust_kmh) <- sapply( strsplit(levels(dat[, 6]), "km"), function(x) gsub(" ", "", x[1]) ) dat$Gust_kmh <- as.numeric(as.character(dat$Gust_kmh)) ### Plot M <- gvisGeoChart( dat, "latlon", sizevar = "cat", colorvar = "Gust_kmh", options = list( region = "035", backgroundColor = "lightblue", datalessRegionColor = "grey" ) ) plot(M) |

**leave a comment**for the author, please follow the link and comment on their blog:

**Milano R net**.

R-bloggers.com offers

**daily e-mail updates**about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.