Tracking the 2013 Hurricane Season

October 21, 2013

(This article was first published on Statistical Research » R, and kindly contributed to R-bloggers)

With it being the end of hurricane season it’s only appropriate to do a brief summary of the activity this year.   It’s been a surprisingly low-key season as far as hurricanes are concerned.  There have been only a few hurricanes and the barometric pressure of any hurricane this season has not even come close to hurricane Sandy (which broke the lowest barometric pressure record).

2013 Hurricane Season

A lot more analysis and visualization could be done with these data.  I will do some further statistical analysis and maybe some time series comparing past recorded hurricanes or maybe some other kriging approaches. Perhaps when I have some more spare time I’ll play with the data even more and look into the sustained wind speed and some of the other hurricane indices (e.g. the Power Dissipation Index).

The following graph shows a histogram of the barometric pressure and how it compares to hurricane Sandy.

2013 Barometric Pressure

In the mean time here is a short piece of code to produce the graphics for the 2013 hurricanes.   It produces a graph of the area around the Atlantic Basin and pulls the data down from Unisys.  It also highlights the East Coast states of the United States.  I have a text file that I put together that lists all the hurricanes by year back through 2007.

Example Code

library(OpenStreetMap) ## for future use to produce aerial image maps

year = 2013
hurricanes = read.table(file=paste("",sep=""), sep=",", fill=TRUE, header=T)
hurricanes = as.vector( subset(hurricanes, hurricanes$YEAR==year, select=c("NAME")) )

hurr.dat = list()
max.lon = = = min.lon = NULL = NULL

for(i in 1:nrow(hurricanes)){
raw = read.table(file=paste("",year,"/",hurricanes[i,],"/track.dat",sep=""), skip=2,fill=TRUE)
colnames(raw) = c("Latitude","Longitude","Time","WindSpeed","Pressure","Status")
raw$Pressure = as.character(raw$Pressure)
raw$Pressure[raw$Pressure=="-"] = NA
raw$Pressure = as.numeric(raw$Pressure)

hurr.dat[[i]] = cbind(raw$Latitude, raw$Longitude, raw$Pressure) = c(, min(raw$Pressure, na.rm=T))

if(is.null({ = max(raw$Latitude)
} else if( < max(raw$Latitude)) { = max(raw$Latitude)
if(is.null({ = min(raw$Latitude)
} else if ( > min(raw$Latitude)){ = min(raw$Latitude)
max.lon = max(raw$Longitude)
} else if (max.lon < max(raw$Longitude)){
max.lon = max(raw$Longitude)
min.lon = min(raw$Longitude)
} else if (min.lon > min(raw$Longitude)){
min.lon = min(raw$Longitude)

xlim <- c(min.lon-5,max.lon+10)
ylim <- c(,
state.list <- c('new york','new jersey','virginia','massachusetts','connecticut','delaware','pennsylvania','maryland','north carolina','south carolina','georgia','florida',
'new hampshire','maine','district of columbia','west virginia','vermont') <- map("state", region=state.list, interior = FALSE, xlim=xlim, ylim=ylim)
map("state", region=state.list, boundary = TRUE, col="gray", add = TRUE,xlim=xlim)
map("world", boundary = TRUE, col="gray", add = TRUE,xlim=xlim)

for(j in 1:nrow(hurricanes)){
points(x=hurr.dat[[j]][,2],y=hurr.dat[[j]][,1],pch=15,cex=0.4, col=j)

title("Path of 2013 Hurricane Season")

hist(, xlim=c(920,1020), main="Histogram of Barometric Pressure for 2013",
xlab="Barometric Pressure (mb)", ylab="Frequency")
abline(v=940, col='blue',lwd=3)
text(958,.5,"<&amp;lt;2012 Hurricane Sandy")

To leave a comment for the author, please follow the link and comment on their blog: Statistical Research » R. offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Comments are closed.


Mango solutions

RStudio homepage

Zero Inflated Models and Generalized Linear Mixed Models with R

Quantide: statistical consulting and training


CRC R books series

Contact us if you wish to help support R-bloggers, and place your banner here.

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)