DF = data.frame( survey=as.factor( 1:5 ), plain=c( 13.8, 12.9, 25.9, 18.0, 15.2 ), butter=c( 11.7, 16.7, 29.8, 23.1, 20.2 ), beef=c( 14.0, 15.5, 27.8, 23.0, 19.0 ), bread=c( 12.6, 13.8, 25.0, 16.9, 13.7 ) ) library(reshape2) DF_melt = melt(DF, id.vars=c('survey'), value.name='acceptance_percentage', variable.name='type')