¿Puede raster crear objetos multicapa con diferentes modos?

Puede unraster objeto (en R) tiene capas de modo diferente (tipo de datos)?

A primera vista parece que siempre estamos obligados a un tipo:

library(raster)
## create a SpatialPixelsDataFrame with (trivially) two different "layer" types
d <- data.frame(expand.grid(x = 1:10, y = 2:11), z = 1:100, a = sample(letters, 100, replace = TRUE), stringsAsFactors = FALSE)
coordinates(d) <- 1:2
gridded(d) <- TRUE

## now coerce this to a raster brick or stack and our "a" is crushed to numeric NA
all(is.na(getValues(brick(d)[[2]])))
[1] TRUE

¿Hay algo como un rasterDataFrame?

Además, tenga en cuenta que, presumiblemente, no podemos utilizar los factores de R, ya que los datos raster @ son una matriz, o de otro modo obligados a numérico / entero. ¿Me estoy perdiendo de algo?