Skip to contents

Calcula la cantidad total de sílabas por cada elemento de un vector de texto. Para ello, primero tokeniza el texto en palabras con tokenize_words y luego suma las sílabas de cada palabra utilizando una función de silabificación provista por el usuario o por el paquete (por defecto, syll_count, definida en el núcleo de silabificación).

Usage

count_syllables(
  text,
  syllable_fun = syll_count,
  na_as_zero = FALSE,
  drop_empty = TRUE,
  syll_args = list(),
  ...
)

Arguments

text

Vector de caracteres con el/los texto(s) a analizar.

syllable_fun

Función que recibe una palabra (cadena de caracteres) y devuelve el número de sílabas de esa palabra. Por defecto syll_count.

na_as_zero

Lógico; si es TRUE, cuando text tiene NA devuelve 0 en lugar de NA en el conteo.

drop_empty

Lógico; si es TRUE, descarta tokens vacíos o con solo espacios antes de contar sílabas.

syll_args

Lista de argumentos adicionales que se pasarán a syllable_fun (útil si tu función de silabificación admite opciones, p. ej., normalización).

...

Argumentos adicionales que se pasan a tokenize_words.

Value

Un vector entero con la cantidad total de sílabas por elemento de text.

Details

Esta función actúa como un contenedor: delega la separación en palabras a tokenize_words y la estimación de sílabas por palabra a syllable_fun. Si tu implementación de silabificación tiene otro nombre (por ejemplo, count_syllables_word o syllables_es), pasala mediante el argumento syllable_fun.

See also

tokenize_words, syll_count

Examples

# Supone que `syll_count()` existe y está disponible:
count_syllables("Este es un texto de prueba.")
#> [1] 9

# Pasando una función de silabificación alternativa:
# count_syllables("Prueba alternativa.", syllable_fun = count_syllables_word)

# Control de NAs:
count_syllables(c("Uno dos", NA), na_as_zero = TRUE)
#> [1] 3 0
# devuelve c(4, 0) si cada palabra tiene 2 sílabas