Skip to content

[R-es] Recodificar puntos xy

2 messages · jmcontreras, Francisco Rodriguez Sanchez

#
Hola a todos

Una cuestión, por si conocéis una forma más simple de hacerlo

Estoy recodificando unos puntos (x,y) en función del polígono donde esté incluido, para calcular la proporción de cada uno de ellos por sección. Para ello me parto de una partición realizada con panel.grid.major

Dando una partición como aparece en el ejemplo:



Dado que dispongo de una variable con los datos de las accisas y otra con las ordenadas, la idea es crear una variable con el identificador de zona de los puntos.

Se me ocurre algo como esto:
df %>% 
  filter(df$x > 0 & df$x < 25 & df$y > 0 & df$y < 10) %>% 
  mutate(recode = "A")

Para cada uno de los bloques, con un for para x y otro para y. 

Hay alguna forma más fácil, del estilo de los análisis de mapping???


Gracias a todos
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20220323/b15d392a/attachment-0001.html>

------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: Gráfico_pegado-1.png
Type: image/png
Size: 40221 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20220323/b15d392a/attachment-0001.png>
2 days later
#
Hola José Miguel,

Una opción es usar case_when, de dplyr: 
https://dplyr.tidyverse.org/reference/case_when.html

df %>%
     mutate(recode = case_when(
         x < 25 & y < 10 ~ "A",
         x < 25 & y >= 10 ~ "B",
     etc


Otra opción sería hacer un spatial join (sf::st_join), pero si solo 
tienes 4 polígonos regulares como esos me parece que no merece la pena

Suerte

Paco
On 23/3/22 17:01, Jose Miguel Contreras wrote: