Reemplace valores específicos en la columna usando expresiones regulares en R

En este artículo, discutiremos cómo reemplazar valores específicos en columnas de marco de datos en el lenguaje de programación R.

Método 1: Usar el método sub()

El método sub() en el lenguaje de programación R es un método de reemplazo que se usa para reemplazar cualquier aparición de un patrón que coincida con otra string. Es operativo sobre la columna o vector del marco de datos. Es particularmente útil en el caso de grandes conjuntos de datos. Se puede usar para reemplazar un carácter o ambas strings compuestas por una o más palabras en la columna del marco de datos especificado. 

Sintaxis:

sub (patrón, string_nueva, df$nombre-col)

Parámetro: 

  • patrón: expresión regular o una string de caracteres para reemplazar. Un * en el patrón indica uno o más caracteres. 
  • new_string: la string con la que reemplazar las coincidencias
  • df$col-name – el nombre de la columna deseada

Ejemplo 1:

R

# declaring dataframe
data_frame <- data.frame(col1 = c("geeks","for","geek","friends"))
  
print ("Original DataFrame")
print (data_frame)
  
data_frame$col1 <- sub("^ge.*", "new_String", data_frame$col1)
  
print ("Modified DataFrame")
print (data_frame)

Producción

[1] "Original DataFrame" 
col1
1   geeks 
2     for 
3    geek 
4 friends 
[1] "Modified DataFrame" 
col1 
1 new_String 
2        for 
3 new_String 
4    friends

Este método reemplaza solo la primera aparición de la string especificada de la línea principal. 

Ejemplo 2:

R

# declaring dataframe
data_frame <- data.frame(col1 = c("geeks for geeks interviews",
                                  "suitable 4 placements",
                                  "interviews placements interviews"))
  
print ("Original DataFrame")
print (data_frame)
  
data_frame$col1 <- sub("interviews", "programming", data_frame$col1)
  
print ("Modified DataFrame")
print (data_frame)

Producción

[1] "Original DataFrame" 
col1 
1       geeks for geeks interviews 
2            suitable 4 placements 
3 interviews placements interviews
[1] "Modified DataFrame"
col1 
1       geeks for geeks programming 
2             suitable 4 placements 
3 programming placements interviews

Método 2: Usar el método gsub()

El método gsub() es similar al método sub(). Sin embargo, puede usar expresiones regulares para la sustitución. También reemplaza todas las apariciones de una palabra en particular en la línea. 

Sintaxis:

gsub (patrón, string_nueva, df$nombre-col)

Parámetro: 

  • patrón: expresión regular o una string de caracteres para reemplazar
  • new_string: la string con la que reemplazar las coincidencias
  • df$col-name – el nombre de la columna deseada

Ejemplo 1:

R

# declaring dataframe
data_frame <- data.frame(col1 = c("geeks","for","friends","gap","geek"))
  
print ("Original DataFrame")
print (data_frame)
  
data_frame$col1 <- gsub("^\\ge.*", "new_String", data_frame$col1)
  
print ("Modified DataFrame")
print (data_frame)

Producción

[1] "Original DataFrame" 
col1 
1   geeks 
2     for 
3 friends 
4     gap 
5    geek 
[1] "Modified DataFrame" 
col1 
1 new_String 
2        for 
3    friends 
4        gap 
5 new_String

El método gsub() se puede usar para reemplazar todas las ocurrencias de una columna en particular.

Ejemplo 2:

R

# declaring dataframe
data_frame <- data.frame(col1 = c("geeks","for","friends","gap","geek"))
  
print ("Original DataFrame")
print (data_frame)
  
data_frame$col1 <- gsub(".*^","GFG ",data_frame$col1)
  
print ("Modified DataFrame")
print (data_frame)

Producción:

[1] "Original DataFrame" 
col1 
1   geeks 
2     for 
3 friends 
4     gap 
5    geek 
[1] "Modified DataFrame" 
col1 
1   GFG geeks
2     GFG for
3 GFG friends
4     GFG gap
5    GFG geek

También se puede utilizar para eliminar números de los componentes de string de los valores. 

Ejemplo 3:

R

# declaring dataframe
data_frame <- data.frame(col1 = c("geeks12 is good","suitable 4 placements",
                                  "love you 2 much"))
  
print ("Original DataFrame")
print (data_frame)
  
data_frame$col1 <- gsub("[0-9]*", "", data_frame$col1)
  
print ("Modified DataFrame")
print (data_frame)

Producción:

[1] "Original DataFrame" 
col1 
1       geeks1
2 is good 2 suitable 4 placements 
3       love you 2 much 
[1] "Modified DataFrame" 
col1 
1        geeks is good 
2 suitable  placements 
3       love you  much

Publicación traducida automáticamente

Artículo escrito por yashchuahan 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 *