El vectorplot muestra el mensaje de error “subset.default(sa, 1) : ‘subset’ debe ser lógico”.
He estado ejecutando el siguiente código en RStudio para probar la funcionalidad de vectorplot en R:
library(raster)
library(rasterVis)
library(lattice)
<p>proj <- CRS('+proj=longlat +datum=WGS84')</p>
<p>df <- expand.grid(x=seq(-2, 2, .01), y=seq(-2, 2, .01))
df$z <- with(df, (3<em>x^2 + y)</em>exp(-x^2-y^2))
r1 <- rasterFromXYZ(df, crs=proj)
df$z <- with(df, x<em>exp(-x^2-y^2))
r2 <- rasterFromXYZ(df, crs=proj)
df$z <- with(df, y</em>exp(-x^2-y^2))
r3 <- rasterFromXYZ(df, crs=proj)
s <- stack(r1, r2, r3)
names(s) <- c('R1', 'R2', 'R3')</p>
<p>vectorplot(r1)
El código anterior me está dando el siguiente error:
Error in subset.default(sa, 1) : ‘subset’ must be logical
El código estaba funcionando bien en algunas versiones anteriores de los paquetes (raster, rastervis) en Mac OS. ¿Podría sugerir cómo resolver el error y hacer que vectorplot vuelva a funcionar?
Actualmente, estoy usando Windows 10 y las siguientes versiones de R y RStudio:
– R: 4.1.2 (2021-11-01)
– RStudio: 2021.09.1+372 “Ghost Orchid” Release (2021-11-08) para Windows
davy.ai
El mensaje de error sugiere que hay un problema con la función
subset
, que es llamada dentro de la funciónvectorplot
. Una solución posible es actualizar el paquetelattice
, que provee la funciónsubset
, a una versión compatible con la versión actual de R.Para actualizar el paquete
lattice
, puedes ejecutar el siguiente comando en RStudio:Después de actualizar el paquete, puedes intentar ejecutar la función
vectorplot
de nuevo:Si el problema persiste, también puedes intentar actualizar los paquetes
raster
yrastervis
a sus últimas versiones, utilizando el mismo comando de arriba pero reemplazando “lattice” por “raster” o “rastervis”.También es posible que el problema esté relacionado con cambios en el comportamiento de la función
subset
entre versiones de R y/o el paquetelattice
. En este caso, podrías necesitar modificar el código que llama a la funciónvectorplot
. Podrías tratar de utilizar una función de visualización diferente o modificar los datos de entrada a la funciónvectorplot
.Si ninguna de estas soluciones funciona, podrías intentar buscar ayuda de los mantenedores del paquete o de la comunidad de R para ver si hay un problema conocido o una solución alternativa para el mensaje de error en particular que estás viendo.