Trazar un ráster con la rampa de color divergente alrededor de cero

Estoy tratando de trazar un mapa con valores positivos y negativos.

Todos los valores positivos deben tener color rojo mientras que los negativos deben tener color azul y cero debe tener blanco al igual que en este gráfico de muestra con colores discretos

A continuación se muestra el código que estoy usando:

library (rasterVis)
ras1 <- raster(nrow=10,ncol=10) 
set.seed(1) 
ras1[] <- rchisq(df=10,n=10*10) 
ras2=ras1*(-1)/2 
s <- stack(ras1,ras2) 
levelplot(s,par.settings=RdBuTheme())

Muchas gracias por proporcionar una solución general que también se puede aplicar en otros ejercicios de mapeo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta