Combina los gráficos base y ggplot en la ventana de figura R

Me gustaría generar una figura que tenga una combinación de gráficos base y ggplot. El siguiente código muestra mi figura utilizando las funciones de trazado de base de R:

t <- c(1:(24*14)) 
P <- 24 
A <- 10 
y <- A*sin(2*pi*t/P)+20

par(mfrow=c(2,2))
plot(y,type = "l",xlab = "Time (hours)",ylab = "Amplitude",main = "Time series")
acf(y,main = "Autocorrelation",xlab = "Lag (hours)", ylab = "ACF")
spectrum(y,method = "ar",main = "Spectral density function", 
         xlab = "Frequency (cycles per hour)",ylab = "Spectrum")
require(biwavelet)
t1 <- cbind(t, y)
wt.t1=wt(t1)
plot(wt.t1, plot.cb=FALSE, plot.phase=FALSE,main = "Continuous wavelet transform",
     ylab = "Period (hours)",xlab = "Time (hours)")

Que genera

La mayoría de estos paneles parecen suficientes para que los incluya en mi informe. Sin embargo, la trama que muestra la autocorrelación debe mejorarse. Esto se ve mucho mejor usando ggplot:

require(ggplot2)
acz <- acf(y, plot=F)
acd <- data.frame(lag=acz$lag, acf=acz$acf)
ggplot(acd, aes(lag, acf)) + geom_area(fill="grey") +
  geom_hline(yintercept=c(0.05, -0.05), linetype="dashed") +
  theme_bw()

Sin embargo, ya que ggplot no es un gráfico base, no podemos combinar ggplot con layout o par (mfrow). ¿Cómo podría reemplazar la gráfica de autocorrelación generada a partir de los gráficos base con la generada por ggplot? Sé que puedo usar grid.arrange si todas mis figuras se hicieron con ggplot, pero ¿cómo hago esto si solo una de las parcelas se genera en ggplot?

Respuestas a la pregunta(4)

Su respuesta a la pregunta