Evolution average number of beds per hospital

July 27, 2012
By

(This article was first published on Fishy Operations, and kindly contributed to R-bloggers)

The OECD collects (among a lot of other statistics) information on the number of hospitals and hospital beds per country. These two parameters combined and its evolution over the years could give an indication on whether or not the country's hospital landscape is evolving towards large medical centers, small scale hospital settings or whether there is no trend to detect.

In the graph below you can see the evolution of the average number of beds per hospital for a number of countries. The first datapoint for every country serves as a reference point and equals 100 percent. A point above this reference point denotes an increase in the average numbers of beds per hospital. In contrast, a point below the reference point means a decrease in the average number of bed per hospital. Of course, a decrease/increase could mean an country-wide decrease/increase in the number of beds. However, assuming that in these 'developed' countries there would be no drastic sudden changes in total number of hospital beds, a continuous increase might indicate that the country's hospital landscape is evolving towards large scale medical centers (through for example mergers & acquisitions).

Even though no solid conclusion can be drawn from the two parameters at hand, countries like Greece, Finland, Ireland, Luxembourg, The Netherlands, New Zealand and Turkey do seem to be evolving towards a healthcare landscape with large scale medical centers. Conversely, Estonia, Italy, Korea, Poland, The Slovak Republic and Slovenia seem to evolve towards smaller scale hospitals.

The R script to generate the graph:

library(ggplot2)  
library(reshape)  
dataset<-read.csv('hospitaldata.csv')

hospitals<-subset(dataset, Variable=='Hospitals')  
hospitalbeds<-subset(dataset, Variable=='Total hospital beds')

dataset_new<-merge(hospitals, hospitalbeds, by=c('Country', 'Year'))  
dataset_new$ratio<-dataset_new$Value.y/dataset_new$Value.x

ratioperc<-function(ratio, country){  
value<-ratio/subset(dataset_new,
Year==min(dataset_new[dataset_new$Country==country,]$Year) &
Country==country)$ratio  
if(length(value)==0) return(NA)  
else return(value)  
}

dataset_transform<-ddply(dataset_new, .(Country, Year), transform,
refvalue=ratioperc(ratio, Country))

ggplot(dataset_transform, aes(x=Year, y=refvalue, group=Country,
colour=refvalue)) + geom_line() + geom_point() +
facet_wrap(~Country, ncol=4) + opts(axis.text.x=theme_text(angle=-90,
hjust=0), legend.position='none') + scale_colour_gradient(low='blue',
high='orange') + ylab('')  

The .csv file used: hospitaldata.csv (source: oecd.org)

To leave a comment for the author, please follow the link and comment on his blog: Fishy Operations.

R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: 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.