Trabajar con texto en R

El lenguaje de programación R se utiliza para la computación estadística y lo utilizan muchos mineros de datos y estadísticos para desarrollar software estadístico y análisis de datos. Incluye algoritmos de aprendizaje automático, regresión lineal, series temporales, inferencia estadística, por nombrar algunos. R y sus bibliotecas implementan una amplia variedad de técnicas estadísticas y gráficas, que incluyen modelado lineal y no lineal, pruebas estadísticas clásicas, análisis de series temporales, clasificación, agrupación en clústeres y otras. 

Cualquier valor escrito dentro de las comillas dobles se trata como una string en R . String es una array de caracteres y estas colecciones de caracteres se almacenan dentro de una variable. Internamente, R almacena cada string entre comillas dobles, incluso cuando las crea con una comilla simple. 

R – Trabajar con texto

Se puede hacer de estas formas:

Método 1: Uso del tipo integrado

En este método, estamos utilizando un tipo incorporado para el procesamiento de texto.

Variable_name <- "String"

Ejemplo:  

R

# R program to demonstrate
# creation of a string
a < -"hello world" print(a)

Producción:

"hello world"

La siguiente es una lista de reglas que deben seguirse al trabajar con strings:  

  • Las comillas al principio y al final de una string deben ser comillas dobles o comillas simples. No se pueden mezclar.
  • Las comillas dobles se pueden insertar en una string que comience y termine con una comilla simple.
  • Se puede insertar una comilla simple en una string que comience y termine con comillas dobles.

Manipulación de strings

La manipulación de strings es un proceso en el que se le pide a un usuario que procese una string dada y use/cambie sus datos. Hay diferentes métodos en R para manipular strings que son los siguientes:  

  • Concatenación de strings – función paste(): Esta función se usa para combinar strings en R. Puede tomar n cantidad de argumentos para combinarse.

Sintaxis:  pegar(…., sep = ” “, colapsar =NULL )

Parámetros: 

  • ….. : Se utiliza para pasar n no de argumentos para combinar juntos.
  • sep : Se utiliza para representar el separador entre los argumentos. es opcional
  • colapsar : se usa para eliminar el espacio entre 2 strings, pero no el espacio dentro de dos palabras en una string.

Ejemplo: 

R

# concatenate two strings
str1 <- "hello" 
str2 <- "how are you?" 
print(paste(str1, str2, sep = " ", collapse = "NULL"))

Producción: 

"hello how are you?"
  • Formateo de números y strings – función format(): Esta función se utiliza para formatear strings y números en un estilo específico.

Sintaxis: formato (x, dígitos, npequeño, científico, ancho, justificar = c («izquierda», «derecha», «centro», «ninguno»)) 

Parámetros:

  • x es la entrada del vector.
  • dígitos aquí es el número total de dígitos mostrados.
  • nsmall es el número mínimo de dígitos a la derecha del punto decimal.
  • científico se establece en VERDADERO para mostrar la notación científica.
  • width indica el ancho mínimo que se mostrará rellenando espacios en blanco al principio.
  • justificar es la visualización de la string a la izquierda, a la derecha o al centro.

Ejemplo: 

R

# formatting numbers and strings
  
# Total number of digits displayed.
# Last digit rounded off.
result < - format(69.145656789, digits=9)
print(result)
  
# Display numbers in scientific notation.
result < - format(c(3, 132.84521),
                  scientific=TRUE)
print(result)
  
# The minimum number of digits
# to the right of the decimal point.
result < - format(96.47, nsmall=5)
print(result)
  
# Format treats everything as a string.
result < - format(8)
print(result)
  
# Numbers are padded with blank
# in the beginning for width.
result < - format(67.7, width=6)
print(result)
  
# Left justify strings.
result < - format("Hello", width=8,
                  justify="l")
print(result)

Producción: 

[1] "69.1456568"
[1] "3.000000e+00" "1.328452e+02"
[1] "96.47000"
[1] "8"
[1] "  67.7"
[1] "Hello   "
  • Contando el número de caracteres en la string – función nchar(): Esta función se usa para contar el número de caracteres y espacios en la string.

Sintaxis: nchar(x)

Parámetro: 

  • x es el vector de entrada aquí.

Ejemplo: 

R

# to count the number of characters
# in the string
a <- nchar("hello world")
print(a)

Producción: 

[1] 11
  • Cambiar el caso de la string: función toupper() y tolower(): esta función se utiliza para cambiar el caso de la string. 

Sintaxis:  toupper(x) y tolower(x)

Parámetro:

  • x es la entrada del vector

Ejemplo: 

R

# Changing to Upper case.
a <- toupper("hello world")
print(a)
  
# Changing to lower case.
b <- tolower("HELLO WORLD")
print(b)

Producción: 

"HELLO WORLD"
"hello world"
  • Extracción de partes de la string – función substring(): Esta función se utiliza para extraer partes de la string.

Sintaxis: substring (x, primero, último)

Parámetros: 

  • x es la entrada del vector de caracteres.
  • first es la posición del primer carácter que se va a extraer.
  • last es la posición del último carácter que se va a extraer.

Ejemplo: 

R

# Extract characters from 1th to 3rd position.
c <- substring("Programming", 1, 3)
print(c)

Producción: 

"Pro"

Método 2: Usar el módulo Tidyverse

En este método, utilizaremos el módulo Tidyverse, que incluye todos los paquetes necesarios en el flujo de trabajo de la ciencia de datos, que van desde la exploración de datos hasta la visualización de datos. stringr es una biblioteca que tiene muchas funciones que se utilizan para tareas de limpieza y preparación de datos. También está diseñado para trabajar con strings y tiene muchas funciones que hacen que este sea un proceso fácil. 

Estamos utilizando este texto para el procesamiento:

R

string <- c("WelcometoGeeksforgeeks!")

Ejemplo 1: Detectar la string

En este ejemplo, detectaremos la string usando el método str_detect() .

Sintaxis: str_detect(string, “texto en string”)

Parámetros:

  • String es la entrada del vector

R

library(tidyverse)
  
str_detect(string, "geeks")

Producción:

TRUE

Ejemplo 2: Localiza la string

En este ejemplo, detectaremos la string usando el método str_locate() .

Sintaxis: str_locate(string, “texto en string”)

Parámetros:

  • String es la entrada del vector

R

library(tidyverse)
  
str_locate(string, "geeks")

Producción:

start end
18 22

Ejemplo 3: extraer la string

En este ejemplo, detectaremos la string usando el método str_extract() .

Sintaxis: str_extract(string, “texto en string”)

Parámetros:

  • String es la entrada del vector

R

library(tidyverse)
  
str_extract(string, "for")

Producción:

for

Ejemplo 4: Reemplace la string

En este ejemplo, detectaremos la string usando el método str_replace() .

Sintaxis: str_replace(string, “texto en string”)

Parámetros:

  • String es la entrada del vector

R

library(tidyverse)
  
str_replace(string, "toGeeksforgeeks", " geeks")

Producción:

'Welcome geeks!'

Método 3: usar expresiones regulares y un módulo externo

En este método, estamos usando expresiones regulares usando un módulo externo como stringr.

Ejemplo 1: selecciona el carácter usando un punto

Aquí usaremos el punto (.) para seleccionar el carácter dentro de la string.

R

string <- c("WelcometoGeeksforgeeks!")
  
str_extract_all(string, "G..k")

Producción:

Geek

Ejemplo 2: Seleccione la string usando \\D

\\D se usa para seleccionar cualquier carácter y número en expresiones regulares.

R

str_extract_all(string, "W\\D\\Dcome")

Producción:

'Welcome'

Método 4: Usar grep()

La función grep() devuelve el índice en el que se encuentra el patrón en el vector. Si hay varias ocurrencias del patrón, devuelve una lista de índices de las ocurrencias. Esto es muy útil ya que no solo nos informa sobre la aparición del patrón sino también sobre su ubicación en el vector.
 

Sintaxis: grep(patrón, string, ignore.case=FALSE)

Parámetros: 

  • patrón: un patrón de expresiones regulares.
  • string: El vector de caracteres que se buscará.
  • ignore.case: Si ignorar mayúsculas y minúsculas en la búsqueda. Aquí ignore.case es un parámetro opcional ya que está configurado en FALSO de forma predeterminada.

Ejemplo 1: Para encontrar todas las instancias de palabras específicas en la string.

R

str <- c("Hello", "hello", "hi", "hey")
grep('hey', str)

Producción:

4

Ejemplo 2: para encontrar todas las instancias de palabras específicas en la string, independientemente del caso

R

str <- c("Hello", "hello", "hi", "hey")
grep('he', str, ignore.case ="True")

Producción:

[1] 1 2 4

Publicación traducida automáticamente

Artículo escrito por hrithikchauhan01 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *