Maybe that would be helpful
set.seed(001) DF <- data.frame(matrix(rnorm(400, 100, 12), ncol=4)) # some data den<-apply(DF, 2, density) # estimating density par(mfrow=c(2,2)) sapply(den, plot) # plot each density par(mfrow=c(1,1))
What gives...

Providing some names:
par(mfrow=c(2,2)) for(i in 1:length(den)){ plot(den[[i]], main=paste('density ', i)) } par(mfrow=c(1,1))

If you just don’t want all the graphs to be on the same output, you can exit par(mfrow=c(2,2)) and just run sapply(den, plot)
Edit: answer the second question (in the comment)
plot(den[[1]], ylim=c(0,.04), main='Densities altogether')

It’s useful to use the legend function to add a legend.
legend('topright', paste('density ', 1:4), col=1:4, lty=1, cex=.65)
source share