library(reshape2) library(ggplot2) df = data.frame(cat = LETTERS[1:6], VAR1 = runif(6), VAR2 = runif(6), VAR3 = runif(6), VAR4 = runif(6)) head(df) df_melted = melt(df, id.vars = 'cat') head(df_melted)