Type: Package
Title: Analisis Computacional de Eventos de Protesta
Version: 0.0.22
Description: La libreria 'ACEP' contiene funciones especificas para desarrollar analisis computacional de eventos de protesta. Asimismo, contiene base de datos con colecciones de notas sobre protestas y diccionarios de palabras conflictivas. Coleccion de diccionarios que reune diccionarios de diferentes origenes. The 'ACEP' library contains specific functions to perform computational analysis of protest events. It also contains a database with collections of notes on protests and dictionaries of conflicting words. Collection of dictionaries that brings together dictionaries from different sources.
License: MIT + file LICENSE
URL: https://github.com/agusnieto77/ACEP, https://agusnieto77.github.io/ACEP/
BugReports: https://github.com/agusnieto77/ACEP/issues
Depends: R (≥ 3.5.0)
Imports: graphics, stats, httr
Suggests: covr, testthat (≥ 3.0.0)
Config/testthat/edition: 3
Encoding: UTF-8
Language: es
LazyData: true
RoxygenNote: 7.2.1
NeedsCompilation: no
Packaged: 2023-10-19 00:54:59 UTC; agusn
Author: Agustin Nieto ORCID iD [aut, cre]
Maintainer: Agustin Nieto <agustin.nieto77@gmail.com>
Repository: CRAN
Date/Publication: 2023-10-19 07:00:23 UTC

Coleccion de notas.

Description

Contiene colecciones de notas de distintos portales noticiosos (una muestra corta). Una segunda coleccion es de notas del periodico bahiense La Nueva. Tambien tiene resumenes estadisticos de las bases completas para el desarrollo de los ejemplos de las funciones.

Usage

data(acep_bases)

Format

Es una lista con 8 objetos.

la_nueva

es un data frame con notas de La Nueva

rev_puerto

es un data frame con notas de la Revista Puerto

rp_procesada

es un data frame con indicadores de conflictividad basados en los datos de la Revista Puerto

lc_mdp

es una url para la descarga del corpus de notas de La Capital

rp_mdp

es una url para la descarga del corpus de notas de la Revista Puerto

ed_neco

es una url para la descarga del corpus de notas de Ecos Diarios

ln_bb

es una url para la descarga del corpus de notas de La Nueva

ln_arg

es una url para la descarga del corpus de notas de La Nacion

Source

Revista Puerto

La Nueva

References

Nieto, Agustin 2020 «Intersecciones entre historia digital e historia social: un ejercicio de lectura distante sobre la conflictividad maritima en la historia argentina reciente». Drassana: revista del Museu Maritim (28):122-42. (Revista Drassana)

Examples

acep_bases$rp_procesada[1:6, ]

Limpieza de texto.

Description

Funcion que limpia y normaliza las notas/textos.

Usage

acep_clean(
  x,
  tolower = TRUE,
  rm_cesp = TRUE,
  rm_emoji = TRUE,
  rm_hashtag = TRUE,
  rm_users = TRUE,
  rm_punt = TRUE,
  rm_num = TRUE,
  rm_url = TRUE,
  rm_meses = TRUE,
  rm_dias = TRUE,
  rm_stopwords = TRUE,
  rm_shortwords = TRUE,
  rm_newline = TRUE,
  rm_whitespace = TRUE,
  other_sw = NULL,
  u = 1
)

Arguments

x

vector de textos al que se le aplica la funcion de limpieza de texto.

tolower

convierte los textos a minusculas.

rm_cesp

remueve caracteres especiales.

rm_emoji

remueve los emojis.

rm_hashtag

remueve los hashtags.

rm_users

remueve las menciones de usuarixs de redes sociales.

rm_punt

remueve la puntuacion.

rm_num

remueve numeros.

rm_url

remueve las url.

rm_meses

remueve los meses del anio.

rm_dias

remueve los dias de la semana.

rm_stopwords

remueve palabras vacias.

rm_shortwords

remueve las palabras cortas.

rm_newline

remueve los saltos de linea.

rm_whitespace

remueve los espacios en blanco.

other_sw

su valor por defecto es NULL, sirve para ampliar el listado de stopwords con un nuevo vector de palabras.

u

umbral de caracteres para la funcion rm_shortwords.

Examples

acep_clean("El SUTEBA fue al paro. Reclaman mejoras salariales.", rm_cesp = FALSE)

Frecuencia, menciones e intensidad.

Description

Funcion que usa las funciones acep_frec, acep_men y acep_int y devuelve una tabla con tres columnas nuevas: numero de palabras, numero de menciones del diccionario, indice de intensidad.

Usage

acep_db(db, t, d, n)

Arguments

db

data frame con los textos a procesar.

t

columna de data frame que contiene el vector de textos a procesar.

d

diccionario en formato vector.

n

cantidad de decimales del indice de intensidad.

Value

Si todas las entradas son correctas, la salida sera una base de datos en formato tabular con tres nuevas variables.

Examples

df <- data.frame(texto = c("El SUTEBA fue al paro. Reclaman mejoras salariales.",
"El SOIP lleva adelante un plan de lucha con paros y piquetes."))
diccionario <- c("paro", "lucha", "piquetes")
acep_db(df, df$texto, diccionario, 4)

Deteccion de menciones de palabras.

Description

Funcion que detecta de menciones de palabras que refieren a conflictos en cada una de las notas/textos.

Usage

acep_detect(x, y, u = 1, tolower = TRUE)

Arguments

x

vector de textos al que se le aplica la funcion de deteccion de menciones de palabras del diccionario.

y

vector de palabras del diccionario utilizado.

u

umbral para atribuir valor positivo a la deteccion de las menciones.

tolower

convierte los textos a minusculas.

Examples

df <- data.frame(texto = c("El SUTEBA fue al paro. Reclaman mejoras salariales.",
"El SOIP lleva adelante un plan de lucha con paros y piquetes."))
diccionario <- c("paro", "lucha", "piquetes")
df$detect <- acep_detect(df$texto, diccionario)
df

Coleccion de diccionarios.

Description

Coleccion de diccionarios que reune diccionarios de diferentes origenes. El diccionario dicc_confl_acep fueron construidos en el marco del Observatorio de Conflictividad de la UNMdP. Los diccionarios dicc_confl_gp y dicc_viol_gp fueron extraidos de Albrieu y Palazzo (2020).

Usage

data(acep_diccionarios)

Format

Es un objeto de clase 'list' con 3 componentes.

dicc_confl_gp

es un vector con palabras de un diciconario de terminos que refeiren a conflictos

dicc_viol_gp

es un vector con palabras de un diciconario de terminos que refeiren a violencia

dicc_confl_sismos

es un vector con palabras de un diciconario de terminos que refeiren a conflictos

Source

Revista Puerto

La Nueva

References

Albrieu, Ramiro y Gabriel Palazzo 2020 «Categorizacion de conflictos sociales en el ambito de los recursos naturales: un estudio de las actividades extractivas mediante la mineria de textos». Revista CEPAL (131):29-59. (Revista CEPAL)

Laitano, Guillermina y Agustin Nieto «Analisis computacional de la conflictividad laboral en Mar del Plata durante el gobierno de Cambiemos». Ponencia presentado en VI Workshop - Los conflictos laborales en la Argentina del siglo XX y XXI: un abordaje interdisciplinario de conceptos, problemas y escalas de analisis, Tandil, 2021.

Examples

diccionario <- acep_load_base(acep_diccionarios$dicc_viol_gp)
diccionario

Frecuencia de palabras totales.

Description

Funcion que cuenta la frecuencia de palabras totales en cada una de las notas/textos.

Usage

acep_frec(x)

Arguments

x

vector de textos al que se le aplica la funcion de conteo de la frecuencia de palabras.

Value

Si todas las entradas son correctas, la salida sera un vector con una frecuencia de palabras.

Examples

acep_frec("El SUTEBA fue al paro. Reclaman mejoras salariales.")

Indice de intensidad.

Description

Funcion que elabora un indice de intensidad en base a la relacion entre palabras totales y palabras del diccionario presentes en el texto.

Usage

acep_int(pc, pt, decimales = 4)

Arguments

pc

vector numerico con la frecuencia de palabras conflictivas presentes en cada texto.

pt

vector de palabras totales en cada texto.

decimales

cantidad de decimales, por defecto tiene 4 pero se puede modificar.

Value

Si todas las entradas son correctas, la salida sera un vector numerico.

Examples

conflictos <- c(1, 5, 0, 3, 7)
palabras <- c(4, 11, 12, 9, 34)
acep_int(conflictos, palabras, 3)

Carga bases de datos creadas por el Observatorio.

Description

Funcion para cargar bases de datos disponibles online. Por ahora estan disponibles las siguientes bases: Revista Puerto 'rp_mdp'; La Nueva 'ln_bb', La Capital 'lc_mdp', Ecos Diarios 'ed_neco', La Nacion 'ln_arg'

Usage

acep_load_base(tag)

Arguments

tag

etiqueta identificatoria del data frame a cargar: acep_bases$rp_mdp, acep_bases$ln_bb, acep_bases$lc_mdp, acep_bases$ed_neco, acep_bases$ln_arg

Value

Si todas las entradas son correctas, la salida sera una base de datos en formato tabular con un corpus de notas.

Examples

bd_sismos <- acep_bases$rev_puerto
acep_load_base(tag = bd_sismos) |> head()

Frecuencia de menciones de palabras.

Description

Funcion que cuenta la frecuencia de menciones de palabras que refieren a conflictos en cada una de las notas/textos.

Usage

acep_men(x, y, tolower = TRUE)

Arguments

x

vector de textos al que se le aplica la funcion de conteo de la frecuencia de menciones de palabras del diccionario.

y

vector de palabras del diccionario utilizado.

tolower

convierte los textos a minusculas.

Value

Si todas las entradas son correctas, la salida sera un vector con una frecuencia de palabras de un diccionario.

Examples

df <- data.frame(texto = c("El SUTEBA fue al paro. Reclaman mejoras salariales.",
"El SOIP lleva adelante un plan de lucha con paros y piquetes."))
diccionario <- c("paro", "lucha", "piquetes")
df$detect <- acep_men(df$texto, diccionario)
df

Resumen visual de la serie temporal de los indices de conflictividad.

Description

Funcion que devuelve un panel visual de cuatro graficos de barras con variables proxy de los indices de conflictividad agrupados por segmento de tiempo.

Usage

acep_plot_rst(datos, tagx = "horizontal")

Arguments

datos

data frame con datos procesados.

tagx

orientacion de las etiquetas del eje x ('horizontal' | 'vertical').

Value

Si todas las entradas son correctas, la salida sera una imagen de cuatro paneles.

Examples

datos <- acep_bases$rp_procesada
fecha <- datos$fecha
n_palabras <- datos$n_palabras
conflictos <- datos$conflictos
datos_procesados_anio <- acep_rst(datos,
fecha, n_palabras, conflictos, st = 'anio')
acep_plot_rst(datos_procesados_anio, tagx = 'vertical')

Grafico de barras de la serie temporal de indices de conflictividad.

Description

Funcion que devuelve un grafico de barras con la serie temporal de indices de conflictividad por dia, mes o anio.

Usage

acep_plot_st(x, y, t = "", ejex = "", ejey = "", etiquetax = "horizontal")

Arguments

x

vector de valores del eje x (por ejemplo, fechas).

y

vector de valores numericos del eje y (por ejemplo, menciones).

t

titulo del grafico.

ejex

nombre del eje x.

ejey

nombre del eje y.

etiquetax

orientacion de las etiquetas del eje x ('horizontal' | 'vertical').

Value

Si todas las entradas son correctas, la salida sera una imagen de un panel.

Examples

datos <- acep_bases$rp_procesada
fecha <- datos$fecha
n_palabras <- datos$n_palabras
conflictos <- datos$conflictos
dpa <- acep_rst(datos,
fecha, n_palabras, conflictos, st = 'anio')
acep_plot_st(
dpa$st, dpa$frecm,
t = 'Evolucion de la conflictividad en el sector pesquero argentino',
ejex = 'Anios analizados',
ejey = 'Menciones de terminos del diccionario de conflictos',
etiquetax = 'horizontal')

Cadenas de caracteres para limpiar y normalizar textos.

Description

Cadenas de caracteres y expresiones regulares para limpiar y normalizar textos.

Usage

data(acep_rs)

Format

Son cadenas de caracteres.

stopwords

es un string de palabras vacias.

dias

es un string de dias.

meses

es un string de meses.

emoji

es un string con expresiones regulares para emojis.

sintildes

es un string de letras sin tildes.

tildes

es un string de letras con tildes.

Examples

print(acep_rs)

Serie temporal de indices de conflictividad.

Description

Funcion que devuelve los indices de conflictividad agrupados por segmento de tiempo: dia, mes, anio.

Usage

acep_rst(datos, fecha, frecp, frecm, st = "mes", u = 2, d = 4)

Arguments

datos

data frame con los textos a procesar.

fecha

columna de data frame que contiene el vector de fechas en formato date.

frecp

columna de data frame que contiene el vector de frecuencia de palabras por texto.

frecm

columna de data frame que contiene el vector de menciones del diccionario por texto.

st

parametro para establecer el segmento temporal a ser agrupado: anio, mes, dia.

u

umbral de menciones para contabilizar una nota como nota que refiere a un conflicto.

d

cantidad de decimales, por defecto tiene 4 pero se puede modificar.

Value

Si todas las entradas son correctas, la salida sera una base de datos en formato tabular con nuevas variables.

Examples

datos <- acep_bases$rp_procesada
fecha <- datos$fecha
n_palabras <- datos$n_palabras
conflictos <- datos$conflictos
datos_procesados_anio <- acep_rst(datos,
fecha, n_palabras, conflictos, st = 'anio', u = 4)
datos_procesados_mes <- acep_rst(datos,
fecha, n_palabras, conflictos)
datos_procesados_dia <- acep_rst(datos,
fecha, n_palabras, conflictos, st = 'dia', d = 3)
datos_procesados_anio |> head()
datos_procesados_mes |> head()
datos_procesados_dia |> head()

Tokenizador.

Description

Funcion que tokeniza las notas/textos.

Usage

acep_token(x, tolower = TRUE)

Arguments

x

vector de textos al que se le aplica la funcion de tokenizacion.

tolower

convierte los textos a minusculas.

Examples

acep_token("Huelga de obreros del pescado en el puerto")

Grafico de barras de palabras mas recurrentes en un corpus.

Description

Funcion que devuelve un grafico de barras con las palabras mas recurrentes en un corpus textual.

Usage

acep_token_plot(x, u = 10, frec = TRUE)

Arguments

x

vector de palabras tokenizadas.

u

numero de corte para el top de palabras mas frecuentes.

frec

parametro para determinar si los valores se visualizaran como frecuencia absoluta o relativa.

Value

Si todas las entradas son correctas, la salida sera un grafico de barras.

Examples

tokens <- c(rep("paro",15), rep("piquete",25), rep("corte",20), rep("manifestacion",10),
rep("bloqueo",5), rep("alerta",16), rep("ciudad",12), rep("sindicato",11), rep("paritaria",14),
rep("huelga",14), rep("escrache",15))
acep_token_plot(tokens)

Tabla de frecuencia de palabras tokenizadas.

Description

Funcion que cuenta la frecuencia de palabras tokenizadas.

Usage

acep_token_table(x, u = 10)

Arguments

x

vector de palabras tokenizadas.

u

numero de corte para el top de palabras mas frecuentes.

Value

Si todas las entradas son correctas, la salida sera una tabla con la frecuencia relativa y absoluta de palabras tokenizadas.

Examples

tokens <- c(rep("paro",15), rep("piquete",25), rep("corte",20), rep("manifestacion",10),
rep("bloqueo",5), rep("alerta",16), rep("ciudad",12), rep("sindicato",11), rep("paritaria",14),
rep("huelga",14), rep("escrache",15))
acep_token_table(tokens)