Cree una matriz de diagramas de dispersión (pares () equivalentes) en ggplot2

¿Es posible trazar una matriz de diagramas de dispersión conggplot2, utilizandoggplot¿Las características agradables como mapear factores adicionales para el color, la forma, etc. y agregar más suave?

Estoy pensando en algo similar albase funciónpairs.