Секрет счастья в ggplot2 состоит в том, чтобы поместить все в «длинный» (или, как мне кажется, ориентированные на матрицу люди назвали бы «редким») форматом:
df <- rbind(data.frame(x="n",value=n),
data.frame(x="a",value=a),
data.frame(x="p",value=p))
qplot(value, colour=x, data=df, geom="density")
Если вы не хотите цвета:
qplot(value, group=x, data=df, geom="density")