DF = data.frame( shrew=as.factor( 1:6 ), lsws=c( 14.1, 26.0, 20.9, 19.0, 26.1, 20.5 ), dsws=c( 11.7, 21.1, 19.7, 18.2, 23.2, 20.7 ), rem=c( 15.7, 21.5, 18.3, 17.0, 22.5, 18.9 ) ) library(reshape2) DF_melt = melt(DF, id.vars=c('shrew'), value.name='heart_rate', variable.name='sleep_stage')