Problemas con la generación de gráficos de densidad en R utilizando geom_density_2d_filled.
Tengo posiciones x e y y quiero dibujar un mapa de densidad utilizando ggplot, sin embargo, me da el siguiente error:
Error in seq_len(n) : el argumento debe ser coercible a un entero no negativo
Además: Mensajes de advertencia: 1: El cálculo falló enstat_density2d_filled()
: las anchuras deben ser estrictamente positivas 2: En min(x, na.rm = na.rm) : no hay argumentos no faltantes para min; devolviendo Inf 3: En max(x, na.rm = na.rm) : no hay argumentos no faltantes para max; devolviendo -Inf 4: En max(f) : no hay argumentos no faltantes para max; devolviendo -Inf
Tanto x como y son numéricos y no hay valores faltantes. Sin embargo, sigo obteniendo el mismo error. El código que estoy utilizando es:
ggplot(Fish, aes(x=xpos, y=ypos)) +
geom_density_2d_filled(aes(fill = ..level..), alpha=0.85, breaks= c(0,10^-5, 10^-4,10^-3,10^-2,10^-1,1),
contour_var = "ndensity") +
scale_fill_brewer(type = "seq",palette = "Spectral", direction = -1)
Este código funciona bien para otros conjuntos de datos en los que tengo posiciones x e y para otros peces. Pero este conjunto de datos está dando errores.
El enlace al archivo CSV con los datos es: Enlace
Cualquier ayuda sería apreciada.
Gracias
davy.ai
El mensaje de error sugiere que el problema puede estar en el parámetro de ancho de banda utilizado en la función
geom_density_2d_filled
. Una solución para este error es establecer explícitamente los parámetros de ancho de banda a valores mayores que cero. Aquí está el código modificado que establece el ancho de banda en 0.1:Esto debería resolver el error y deberías poder crear el mapa de densidad utilizando ggplot.