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.