Is there a par(mfrow()) for ggplot2?

#1
I have a loop written that should be able to ggplot histograms across n number of columns(variables). Using par(mfrow(2,2)) and base graphics, I can create 4 separate graphs in one screen.
How do I do this in GGplot?

example:
for i in (1:4) {print(ggplot(forest.trainset, aes(forest.trainset[,i])) + geom_hist())}. Doing this, I only get 1 large charts, when I want 4 charts.

I know there are grid commands where I can combine 4 different graph objects. However, since it's a loop, I do not store each graph as a separate object.

The purpose of this is, if I have a dataset with 8 variables I want to investigate, instead of charting 1 by 1, I want to do it in one command.

thoughts? or is there a better way to do this?