ACEP es un paquete de funciones en lenguaje R útiles para la detección y el análisis de eventos de protesta en corpus de textos periodísticos. Sus funciones son aplicables a cualquier corpus de textos. Además de las funciones, ACEP contiene también bases de datos con colecciones de notas sobre protestas y una colección de diccionarios de palabras conflictivas y otros tópicos referidos a diferentes aspectos del análisis de eventos protesta.
Puedes instalar la versión de desarrollo de ACEP desde GitHub con:
# install.packages("devtools")
::install_github("agusnieto77/ACEP") devtools
Nombre | Descripción |
---|---|
acep_db() |
Frecuencia, menciones e intensidad. |
acep_frec() |
Frecuencia de palabras totales. |
acep_int() |
Índice de intensidad. |
acep_load_base() |
Carga bases de datos creadas por el Observatorio. |
acep_men() |
Frecuencia de menciones de palabras. |
acep_post_rst() |
Resumen visual de la serie temporal de los índices de conflictividad. |
acep_post_st() |
Gráfico de barras de la serie temporal de índices de conflictividad. |
acep_rst() |
Serie temporal de índices de conflictividad. |
Nombre | Descripción |
---|---|
acep_bases |
Colección de notas. |
acep_diccionarios |
Colección de diccionarios. |
Colección de notas del diario La Nación
Subset de notas del diario La Nación
Colección de notas del Ecos Diarios
Colección de notas de la Revista Puerto
Colección de notas del diario La Nueva
Colección de notas del diario La Capital
ACLED: Armed Conflict Location & Event Data Project.
GDELT: The GDELT Project About.
GPT: Global Protest Tracker.
MMPD: Mass Mobilization Protest Data Project.
NAVCO: Nonviolent and Violent Campaigns and Outcomes data project.
NVCO: Global Nonviolent Action Database.
SCAD: Social Conflict Analysis Database.
SPEED: The Social, Political and Economic Event Database Project.
UCDP: Uppsala Conflict Data Program.
FMI: FMI Data.
BM: Datos de libre acceso del Banco Mundial.
OIT: Estadísticas y bases de datos.
CEPAL: Datos y estadísticas.
DARG: Datos abiertos de Argentina.
MGP: Datos abiertos del Municipio de Gral. Pueyrredon, Buenos Aires, Argentina.
# Cargamos la librería
require(ACEP)
#> Loading required package: ACEP
# Cargamos la base de notas de la Revista Puerto con la función acep_load_base()
<- acep_load_base(acep_bases$rp_mdp)
rev_puerto
# Cargamos la etiqueta de la base a descargar
<- acep_bases$rp_mdp
rp_mdp
# Cargamos la base de notas de la Revista Puerto
<- acep_load_base(rp_mdp)
revista_puerto
# Cargamos el diccionario de conflictos de SISMOS
<- acep_diccionarios$dicc_confl_sismos
dicc_confl_sismos
# Con la función acep_frec() contamos la frecuencia de palabras de cada nota y creamos una
# nueva columna llamada n_palabras
$n_palabras <- acep_frec(revista_puerto$nota)
revista_puerto
# Imprimimos en pantalla la base con la nueva columna de frecuencia de palabras
|> head()
revista_puerto #> # A tibble: 6 × 7
#> fecha titulo bajada nota imagen link n_palabras
#> <date> <chr> <chr> <chr> <chr> <chr> <int>
#> 1 2020-12-29 ¡Feliz Año 2021 para todos nu… Con m… "Con… https… http… 31
#> 2 2020-12-28 Mapa del trabajo esclavo en a… Un re… "El … https… http… 1128
#> 3 2020-12-24 Plantas piden tener garantiza… En Ch… "El … https… http… 530
#> 4 2020-12-24 Los obreros navales despiden … En Ma… "El … https… http… 483
#> 5 2020-12-23 El incumplimiento del régimen… Se ll… "Las… https… http… 525
#> 6 2020-12-23 Otro fallo ratifica cautelar … La Cá… "La … https… http… 462
# Ahora con la función acep_men() contamos la frecuencia de menciones de términos del
# diccionario de conflictividad de SISMOS de cada nota y creamos una nueva columna llamada conflictos
<- revista_puerto[1:100,] # elaboramos un corpus más pequeño para el ejemplo
revista_puerto $conflictos <- acep_men(revista_puerto$nota, dicc_confl_sismos)
revista_puerto
# Imprimimos en pantalla la base con la nueva columna de menciones del diccionario de conflictividad
|> head()
revista_puerto #> # A tibble: 6 × 8
#> fecha titulo bajada nota imagen link n_palabras conflictos
#> <date> <chr> <chr> <chr> <chr> <chr> <int> <int>
#> 1 2020-12-29 ¡Feliz Año 2021 pa… Con m… "Con… https… http… 31 0
#> 2 2020-12-28 Mapa del trabajo e… Un re… "El … https… http… 1128 4
#> 3 2020-12-24 Plantas piden tene… En Ch… "El … https… http… 530 3
#> 4 2020-12-24 Los obreros navale… En Ma… "El … https… http… 483 8
#> 5 2020-12-23 El incumplimiento … Se ll… "Las… https… http… 525 4
#> 6 2020-12-23 Otro fallo ratific… La Cá… "La … https… http… 462 6
# Ahora con la función acep_int() calculamos un índice de intensidad de la conflictividad y creamos una
# nueva columna llamada intensidad
$intensidad <- acep_int(revista_puerto$conflictos, revista_puerto$n_palabras, 3)
revista_puerto
# Imprimimos en pantalla la base con la nueva columna de intensidad
|> head()
revista_puerto #> # A tibble: 6 × 9
#> fecha titulo bajada nota imagen link n_palabras conflictos intensidad
#> <date> <chr> <chr> <chr> <chr> <chr> <int> <int> <dbl>
#> 1 2020-12-29 ¡Feliz … Con m… "Con… https… http… 31 0 0
#> 2 2020-12-28 Mapa de… Un re… "El … https… http… 1128 4 0.004
#> 3 2020-12-24 Plantas… En Ch… "El … https… http… 530 3 0.006
#> 4 2020-12-24 Los obr… En Ma… "El … https… http… 483 8 0.017
#> 5 2020-12-23 El incu… Se ll… "Las… https… http… 525 4 0.008
#> 6 2020-12-23 Otro fa… La Cá… "La … https… http… 462 6 0.013
# Volvemos a cargar la base de notas de la Revista Puerto sin procesar
<- acep_load_base(rp_mdp)
revista_puerto
# Creamos un subset
<- revista_puerto[1:100,]
subset_rp
# Cargamos el diccionario de conflictos de SISMOS
<- acep_diccionarios$dicc_confl_sismos
dicc_confl_sismos
# Ahora con la función acep_db() aplicamos las tres funciones en un solo paso
<- acep_db(subset_rp, subset_rp$nota, dicc_confl_sismos, 3)
rp_procesada
# Imprimimos en pantalla la base con las tres columna creadas
|> head()
rp_procesada #> # A tibble: 6 × 9
#> fecha titulo bajada nota imagen link n_palabras conflictos intensidad
#> <date> <chr> <chr> <chr> <chr> <chr> <int> <int> <dbl>
#> 1 2020-12-29 ¡Feliz … Con m… "Con… https… http… 31 0 0
#> 2 2020-12-28 Mapa de… Un re… "El … https… http… 1128 4 0.004
#> 3 2020-12-24 Plantas… En Ch… "El … https… http… 530 3 0.006
#> 4 2020-12-24 Los obr… En Ma… "El … https… http… 483 8 0.017
#> 5 2020-12-23 El incu… Se ll… "Las… https… http… 525 4 0.008
#> 6 2020-12-23 Otro fa… La Cá… "La … https… http… 462 6 0.013
# Cargamos los datos procesados
<- acep_bases$rp_procesada
rp_procesada
# Ahora con la función acep_rst() elaboramos un resumen estadístico
<- acep_rst(rp_procesada, rp_procesada$fecha, rp_procesada$n_palabras,
rp_procesada $conflictos, st = 'anio', u = 4)
rp_procesada
# Imprimimos en pantalla la base con las métricas de conflictividad
|> head()
rp_procesada #> st frecn csn frecp frecm intac intensidad int_notas_confl
#> 1 2009 632 58 496110 1025 1.2735 0.0021 0.0918
#> 2 2010 680 67 492231 1129 1.6273 0.0023 0.0985
#> 3 2011 601 40 425747 882 1.2204 0.0021 0.0666
#> 4 2012 739 67 564270 1242 1.6841 0.0022 0.0907
#> 5 2013 689 24 525718 758 1.0559 0.0014 0.0348
#> 6 2014 631 30 444823 802 1.2112 0.0018 0.0475
# Ahora con la función acep_plot_st() elaboramos un gráfico de barras
# con menciones del diccionario de conflictividad
acep_plot_st(rp_procesada$st, rp_procesada$frecm,
t = 'Evolución de la conflictividad en el sector pesquero argentino',
ejex = 'Años analizados',
ejey = 'Menciones del diccionario de conflictos',
etiquetax = 'horizontal')
# Ahora con la función acep_plot_rst() elaboramos una visualización resumen
# con cuatro gráficos de barras
acep_plot_rst(rp_procesada, tagx = 'vertical')