En este artículo, vamos a ver cómo contar la cantidad de palabras en una string de caracteres en el lenguaje de programación R.
Método 1: Usar los métodos strplit y sapply
El método strsplit() en R se usa para devolver un vector de palabras contenidas en la string especificada en función de la coincidencia con la expresión regular definida. Cada elemento de este vector es una substring de la string original. Por lo tanto, la longitud del vector devuelto es equivalente al número de palabras.
Sintaxis: strsplit( str , regex )
Argumentos:
- str – La string para contar las ocurrencias de
- regex: el vector de caracteres (u objeto que se puede coaccionar) que contiene una expresión regular para que coincida el patrón. En el caso de encontrar el número de palabras el patrón es simplemente equivalente a ” “.
Método sapply(): se utiliza para calcular la longitud del vector que contiene palabras. El método sapply() se utiliza para aplicar funciones sobre vectores o listas y devolver resultados basados en estos cálculos. En el caso del segundo argumento, es decir, la función es longitud, se devuelve la longitud del vector dividido.
sapply (str , FUN)
El enfoque combinado para determinar las palabras compuestas se define mediante la siguiente sintaxis en R:
sapply(strsplit(str, " "), length)
Código:
R
# declaring string str <- "Counting the words in this R sentence?\ Try this approach in GFG! " print ("Original string") print (str) print ("Total number of words") # splitting a string by spaces split <- strsplit(str, " ") sapply( split , length)
Producción
[1] "Original string" [1] "Counting the words in this R sentence? Try this approach in GFG! " [1] "Total number of words" [1] 12
Método 2: Usar el método gregexpr.
Este método usa una variedad de métodos disponibles en base R para calcular el número de ocurrencias de un carácter específico en R. El método gregexpr() se usa para devolver una lista de sublistas que coinciden con un patrón específico de la lista de argumentos de la función. En este caso, la coincidencia de patrones utilizada distingue entre mayúsculas y minúsculas. El patrón en nuestro caso es \\W+ .
Sintaxis: gregexpr(patrón, texto)
Luego se aplica el método de longitudes para devolver las longitudes individuales de todos los elementos del vector de argumento.
Sintaxis: longitudes (x)
Este método usa el símbolo de expresión regular \\W para hacer coincidir caracteres que no son palabras, usando + para indicar uno o más en una fila. Devuelve el número de separadores entre las palabras, por lo que el número de palabras es en realidad, separadores + 1, en la mayoría de los casos.
Código:
R
# declaring string str <- "Counting the words in this R sentence? \ Try this approach in GFG! " print ("Original string") print (str) print ("Total number of words") # splitting a string by spaces lengths(gregexpr("\\W+", str)) + 1
Producción
[1] "Original string" [1] "Counting the words in this R sentence? Try this approach in GFG! " [1] "Total number of words" [1] 13
Método 3: Usando el paquete stringr
El paquete stringR en R se usa para realizar manipulaciones de strings. Debe instalarse explícitamente en el espacio de trabajo para acceder a sus métodos y rutinas.
install.packages("stringr")
El paquete stringr proporciona un método str_count() que se usa para contar el número de ocurrencias de un determinado patrón especificado como argumento de la función. El patrón puede ser un solo carácter o un grupo de caracteres. Cualquier instancia que coincida con la expresión da como resultado el incremento del conteo. Este método también se puede invocar sobre un vector de strings, y se devuelve un vector de recuento individual que contiene recuentos individuales del número de coincidencias de patrones encontradas. Sin embargo, este método solo se considera aproximado a la coincidencia de expresiones regulares. En caso de que no se encuentren coincidencias, se devuelve 0.
Sintaxis: str_count(str, patrón = “”)
Argumentos:
- str – La string para contar las ocurrencias de
- patrón – el patrón para hacer coincidir
Código:
R
library("stringr") # declaring string str <- "Counting the words in this R sentence? Try this approach in GFG! " print ("Original string") print (str) print ("Total number of words") # splitting a string by spaces str_count(str ,"\\W+")
Producción:
[1] "Original string" [1] "Counting the words in this R sentence? Try this approach in GFG! " [1] "Total number of words" [1] 12