Recuperación de texto

Cuando el archivo no tiene terminación, se observa texto y variables en distintos elementos como en esta imagen utiliza jsonlite

archivo texto y elementos
archivo texto y elementos

Recuperación como lista

https://mapa.conflictosmineros.net/ocmal_db-v2/location/incidents/02024200

jsonToList <- jsonlite::fromJSON(txt = "https://mapa.conflictosmineros.net/ocmal_db-v2/location/incidents/02024200")

glimpse(jsonToList)
## List of 2
##  $ type    : chr "FeatureCollection"
##  $ features:'data.frame':    58 obs. of  3 variables:
##   ..$ type      : chr [1:58] "Feature" "Feature" "Feature" "Feature" ...
##   ..$ geometry  :'data.frame':   58 obs. of  2 variables:
##   .. ..$ type       : chr [1:58] "Point" "Point" "Point" "Point" ...
##   .. ..$ coordinates:List of 58
##   ..$ properties:'data.frame':   58 obs. of  5 variables:
##   .. ..$ title     : chr [1:58] "Asesinato de Mariano Abarca Roblero, Chicomuselo, Chiapas" "Ejidatarios de San Antonio de la Huerta son reprimidos por autoridades en Soyopa" "Ejercito y policía reprime plantón de Ejido La Sierrita en Durango" "Policías torturan a líder nahua Gaudencio Mancilla" ...
##   .. ..$ link      : chr [1:58] "https://mapa.conflictosmineros.net/ocmal_db-v2/incident/view/18" "https://mapa.conflictosmineros.net/ocmal_db-v2/incident/view/40" "https://mapa.conflictosmineros.net/ocmal_db-v2/incident/view/43" "https://mapa.conflictosmineros.net/ocmal_db-v2/incident/view/46" ...
##   .. ..$ idpais    : chr [1:58] "" "" "" "" ...
##   .. ..$ color     : chr [1:58] "#B300B2" "#B300B2" "#B300B2" "#B300B2" ...
##   .. ..$ attributes:'data.frame':    58 obs. of  16 variables:
#de lista a tabla 
tabla1 <- jsonToList %>% clean_names()
class(tabla1)
## [1] "list"

Identificación de variables, propiedades y atributos

Creación de tabla y recuperación de coordenadas de la variable $geometry

tabla<-as.data.frame(tabla1$features)

t1<-tabla %>%
  mutate(lng = map_dbl(tabla$geometry$coordinates, 1))%>%
  mutate(lat = map_dbl(tabla$geometry$coordinates, 2))

class(t1)
## [1] "data.frame"
str(t1)
## 'data.frame':    58 obs. of  5 variables:
##  $ type      : chr  "Feature" "Feature" "Feature" "Feature" ...
##  $ geometry  :'data.frame':  58 obs. of  2 variables:
##   ..$ type       : chr  "Point" "Point" "Point" "Point" ...
##   ..$ coordinates:List of 58
##   .. ..$ : num  -92.3 15.7
##   .. ..$ : num  -109.6 28.8
##   .. ..$ : num  -103.4 26.1
##   .. ..$ : num  -103.9 20.2
##   .. ..$ : num  -96.7 16.7
##   .. ..$ : num  -96.7 16.7
##   .. ..$ : num  -96.7 16.7
##   .. ..$ : num  -96.7 16.7
##   .. ..$ : num  -107.5 29.8
##   .. ..$ : num  -103.8 19.3
##   .. ..$ : num  -103.8 19.3
##   .. ..$ : num  -103.8 19.3
##   .. ..$ : num  -103.7 19.2
##   .. ..$ : num  -103.7 19.2
##   .. ..$ : num  -108.3 26.7
##   .. ..$ : num  -107.4 24.8
##   .. ..$ : num  -94.6 18
##   .. ..$ : num  -107.5 29.8
##   .. ..$ : num  -106.1 28.6
##   .. ..$ : num  -93.1 16.8
##   .. ..$ : num  -111 29.1
##   .. ..$ : num  -103.7 19.2
##   .. ..$ : num  -103.7 19.2
##   .. ..$ : num  -112 26
##   .. ..$ : num  -108.3 26.7
##   .. ..$ : num  -92.7 15.4
##   .. ..$ : num  -92.7 15.4
##   .. ..$ : num  -106.1 28.6
##   .. ..$ : num  -98.8 20.9
##   .. ..$ : num  -99.9 19.1
##   .. ..$ : num  -103 23
##   .. ..$ : num  -103.4 26.1
##   .. ..$ : num  -97.3 19
##   .. ..$ : num  -97.3 19
##   .. ..$ : num  -107.5 29.8
##   .. ..$ : num  -99 22
##   .. ..$ : num  -92.3 15.7
##   .. ..$ : num  -96.7 16.7
##   .. ..$ : num  -101.2 19.7
##   .. ..$ : num  -96.7 16.7
##   .. ..$ : num  -103.5 18.6
##   .. ..$ : num  -97.8 19.7
##   .. ..$ : num  -109 29
##   .. ..$ : num  -98.7 17.1
##   .. ..$ : num  -99.7 18.2
##   .. ..$ : num  -96.6 16.9
##   .. ..$ : num  -101.5 24.7
##   .. ..$ : num  -102 24.4
##   .. ..$ : num  -102 24.4
##   .. ..$ : num  -103.9 23.4
##   .. ..$ : num  -101.5 24.1
##   .. ..$ : num  -112.6 30.9
##   .. ..$ : num  -98.8 16.6
##   .. ..$ : num  -98.8 16.6
##   .. ..$ : num  -102 24.4
##   .. ..$ : num  -96.5 19.6
##   .. ..$ : num  -102 24.4
##   .. ..$ : num  -92.7 15.4
##  $ properties:'data.frame':  58 obs. of  5 variables:
##   ..$ title     : chr  "Asesinato de Mariano Abarca Roblero, Chicomuselo, Chiapas" "Ejidatarios de San Antonio de la Huerta son reprimidos por autoridades en Soyopa" "Ejercito y policía reprime plantón de Ejido La Sierrita en Durango" "Policías torturan a líder nahua Gaudencio Mancilla" ...
##   ..$ link      : chr  "https://mapa.conflictosmineros.net/ocmal_db-v2/incident/view/18" "https://mapa.conflictosmineros.net/ocmal_db-v2/incident/view/40" "https://mapa.conflictosmineros.net/ocmal_db-v2/incident/view/43" "https://mapa.conflictosmineros.net/ocmal_db-v2/incident/view/46" ...
##   ..$ idpais    : chr  "" "" "" "" ...
##   ..$ color     : chr  "#B300B2" "#B300B2" "#B300B2" "#B300B2" ...
##   ..$ attributes:'data.frame':   58 obs. of  16 variables:
##   .. ..$ id                   : int  18 40 43 46 52 54 55 56 57 70 ...
##   .. ..$ location_id          : int  248 2838 3185 3188 3194 3196 3197 3198 3199 3267 ...
##   .. ..$ form_id              : int  1 1 0 1 1 1 1 1 0 1 ...
##   .. ..$ locale               : chr  "en_US" "en_US" "en_US" "en_US" ...
##   .. ..$ user_id              : int  2 5 11 NA NA NA NA 11 NA 11 ...
##   .. ..$ incident_title       : chr  "Asesinato de Mariano Abarca Roblero, Chicomuselo, Chiapas" "Ejidatarios de San Antonio de la Huerta son reprimidos por autoridades en Soyopa" "Ejercito y policía reprime plantón de Ejido La Sierrita en Durango" "Policías torturan a líder nahua Gaudencio Mancilla" ...
##   .. ..$ incident_description : chr  "Mariano Abarca Roblero, un dirigente y miembro de la Red Mexicana de Afectados por la Minería (REMA), del munic"| __truncated__ "Contaminación de tierras y agua en el estado de Sonora por el devastaminto de las minas extranjeras que indiscr"| __truncated__ "El día 29 de agosto de 2012, alrededor de 100 elementos de la policía federal, del ejército mexicano y policía "| __truncated__ "La madrugada del jueves 22, la comunidad de Ayotitlán denunció que Gaudencio Mancilla, representante legal del "| __truncated__ ...
##   .. ..$ incident_date        : chr  "2009-11-27T20:44:00+00:00" "2013-04-07T13:18:00+00:00" "2012-08-29T06:00:00+00:00" "2013-09-02T13:59:00+00:00" ...
##   .. ..$ incident_mode        : int  1 1 1 1 1 1 1 1 1 1 ...
##   .. ..$ incident_active      : int  1 1 1 1 1 1 1 1 1 1 ...
##   .. ..$ incident_verified    : int  1 1 1 1 1 1 1 1 1 1 ...
##   .. ..$ incident_dateadd     : chr  "2011-11-14T16:46:11+00:00" "2013-04-07T13:26:10+00:00" "2013-08-26T17:19:26+00:00" "2013-09-02T17:54:05+00:00" ...
##   .. ..$ incident_dateadd_gmt : logi  NA NA NA NA NA NA ...
##   .. ..$ incident_datemodify  : chr  "2013-08-26T16:39:13+00:00" "2013-09-02T10:49:25+00:00" NA "2013-09-05T14:15:04+00:00" ...
##   .. ..$ incident_alert_status: int  2 2 2 2 2 2 2 2 2 2 ...
##   .. ..$ incident_zoom        : int  1 1 6 3 3 3 3 9 5 3 ...
##  $ lng       : num  -92.3 -109.6 -103.4 -103.9 -96.7 ...
##  $ lat       : num  15.7 28.8 26.1 20.2 16.7 ...

Recuperación de variables elegidas y coordenadas

data <- cbind(t1$properties$attributes,t1$lng,t1$lat)
class(data )
## [1] "data.frame"
str(data )
## 'data.frame':    58 obs. of  18 variables:
##  $ id                   : int  18 40 43 46 52 54 55 56 57 70 ...
##  $ location_id          : int  248 2838 3185 3188 3194 3196 3197 3198 3199 3267 ...
##  $ form_id              : int  1 1 0 1 1 1 1 1 0 1 ...
##  $ locale               : chr  "en_US" "en_US" "en_US" "en_US" ...
##  $ user_id              : int  2 5 11 NA NA NA NA 11 NA 11 ...
##  $ incident_title       : chr  "Asesinato de Mariano Abarca Roblero, Chicomuselo, Chiapas" "Ejidatarios de San Antonio de la Huerta son reprimidos por autoridades en Soyopa" "Ejercito y policía reprime plantón de Ejido La Sierrita en Durango" "Policías torturan a líder nahua Gaudencio Mancilla" ...
##  $ incident_description : chr  "Mariano Abarca Roblero, un dirigente y miembro de la Red Mexicana de Afectados por la Minería (REMA), del munic"| __truncated__ "Contaminación de tierras y agua en el estado de Sonora por el devastaminto de las minas extranjeras que indiscr"| __truncated__ "El día 29 de agosto de 2012, alrededor de 100 elementos de la policía federal, del ejército mexicano y policía "| __truncated__ "La madrugada del jueves 22, la comunidad de Ayotitlán denunció que Gaudencio Mancilla, representante legal del "| __truncated__ ...
##  $ incident_date        : chr  "2009-11-27T20:44:00+00:00" "2013-04-07T13:18:00+00:00" "2012-08-29T06:00:00+00:00" "2013-09-02T13:59:00+00:00" ...
##  $ incident_mode        : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ incident_active      : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ incident_verified    : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ incident_dateadd     : chr  "2011-11-14T16:46:11+00:00" "2013-04-07T13:26:10+00:00" "2013-08-26T17:19:26+00:00" "2013-09-02T17:54:05+00:00" ...
##  $ incident_dateadd_gmt : logi  NA NA NA NA NA NA ...
##  $ incident_datemodify  : chr  "2013-08-26T16:39:13+00:00" "2013-09-02T10:49:25+00:00" NA "2013-09-05T14:15:04+00:00" ...
##  $ incident_alert_status: int  2 2 2 2 2 2 2 2 2 2 ...
##  $ incident_zoom        : int  1 1 6 3 3 3 3 9 5 3 ...
##  $ t1$lng               : num  -92.3 -109.6 -103.4 -103.9 -96.7 ...
##  $ t1$lat               : num  15.7 28.8 26.1 20.2 16.7 ...

Contextualización en mapa de México

nomfile<-'C:/users/cguer/Documents/Claudia/Midropbox/Investigacion y escritos/Marcogeoestadisticonacional/mg_2023_integrado/conjunto_de_datos/00ent.shp' 
nomfil<-"00ent.shp" 
ent<-read_sf(nomfile, options = "ENCODING=latin1") 
ent<-st_transform(ent, CRS("+init=epsg:4326 +proj=longlat + +ellps=WGS84 +datum=WGS84 +no_defs +towgs84=0,0,0")) 



datalproy_sf <-st_as_sf(data,coords = c("t1$lng", "t1$lat"),crs = 4326)

mapamx<-ggplot()+ geom_sf(data = ent,color=as.factor(ent$CVEGEO),fill=NA)+
  scale_color_viridis(discrete = FALSE)+
  ggnewscale::new_scale_color() +
  geom_sf(data=datalproy_sf,aes(geometry=geometry,color=as.factor(datalproy_sf$incident_alert_status)))+
  scale_fill_met_d("Cross")+          
  #scale_fill_viridis(discrete = FALSE)+
  #scale_fill_manual(values=colors3) 
  coord_sf()




mapamx

Conversión de fechas con lubridate

Función year,

# time_1a <- strptime(time_1, format = "%Y-%m-%d")

datalproy_sf$fecha<-year(datalproy_sf$incident_date)

mapamx <-ggplot()+ geom_sf(data = ent,color=as.factor(ent$CVEGEO),fill=NA)+
  scale_color_viridis(discrete = FALSE)+
  ggnewscale::new_scale_color() +
  geom_sf(data=datalproy_sf,aes(geometry=geometry,color=as.factor(datalproy_sf$fecha)))+ scale_fill_met_d("Cross") + scale_fill_met_d("Cross")+          
  #scale_fill_viridis(discrete = FALSE)+
  #scale_fill_manual(values=colors3) 
  coord_sf()


mapamx