3 votos

¿Cómo mostrar los datos de concentración en el espacio?

Tengo un marco de datos de concentraciones químicas que son mediciones tomadas en 12 lugares todos en la misma vecindad. He asignado manualmente coordenadas x e y a cada ubicación (en una escala de 0 a 20) y cada observación tiene un valor de concentración:

dat<-data.frame(x = rep(c(2, 5.5, 8, 14), each=2),
    y = rep(c(3, 9, 14, 17), 2),
    z = log(rnorm(8, 10, .75))

Quiero mostrar la concentración sobre el espacio en una imagen haciendo una especie de media sobre las 2 dimensiones para llenar todo el espacio de la parcela. Creo que lo que quiero hacer aquí es un gráfico de contorno, pero no puedo averiguar cómo hacer que esto funcione, así que tal vez este no es el tipo de datos adecuados para tal gráfico? Estoy tratando de implementar esto en R, por lo que cualquier consejo R sobre cómo hacer esto sería impresionante.

5voto

Judioo Puntos 625

Me parece que un "mapa de calor" interpolado puede ser lo que estás buscando. Yo suelo utilizar el spatstat para el análisis de patrones de puntos, así que aquí hay un ejemplo que utiliza esa biblioteca. Aquí utilizo la ponderación inversa de la distancia, pero si eso es apropiado o no necesitaría más conocimiento del dominio.

set.seed(10)
library(spatstat)

dat<-data.frame(x = rep(c(2, 5.5, 8, 14), each=2),
    y = rep(c(3, 9, 14, 17), 2),
    z = log(rnorm(8, 10, .75)))
mywin <- owin(c(0,16),c(1,19))

X_ppp <- ppp(dat$x,dat$y, window = mywin, marks = dat$z)

X_idw <- idw(X_ppp) #inverse distance weighting
plot(X_idw)

#making circles of more varying size
m <- marks(X_ppp)
marks(X_ppp) <- (m - min(m))/(max(m) - min(m))*6+1
plot(X_ppp, add = T)

enter image description here

Si todavía quieres, también puedes hacer un gráfico de contorno a partir del objeto de densidad de la imagen anterior utilizando el comando contour(X_idw) (ambos tipos de gráficos requieren la interpolación del patrón de puntos). Otra opción sería un gráfico que muestre los círculos con un tamaño acorde con el valor de z, o un gráfico 3d (ver pesp.im(X_idw) ). Aquí hay algunos bonitos ejemplos de gráficos de contorno.

Probablemente, alguien que conozca mejor tu área de estudio pueda opinar sobre cómo interpolar mejor los valores químicos. La biblioteca spatstat está más dirigida a la modelización de procesos puntuales, por lo que otras bibliotecas como gstat puede ser más apropiado. Pero, la lógica detrás de la trama sigue siendo la misma.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X