¿Cómo reemplazar un valor particular en el marco de datos R?

A menudo, algunos valores en nuestro marco de datos no son apropiados, no están actualizados o no conocemos esos valores. En tales casos, reemplazamos esos valores, porque están causando ambigüedad. Aquí, usaremos el término NA, que significa No disponible para reemplazar los valores desconocidos. En este artículo, veremos cómo cambiar o reemplazar todos los valores particulares en una tabla, con la ayuda del lenguaje de programación R. 

Para hacer esto, debe haber una condición sobre la base de la cual se debe realizar el reemplazo. Los datos en consideración se comparan con esta condición y, si resultan verdaderos, se reemplazan por un valor particular. Este valor puede ser otro valor del tipo de datos del valor eliminado o NA. Veamos varias implementaciones que representan lo mismo. Discutiremos que un valor específico se puede reemplazar tanto en una columna en particular como en el marco de datos completo.

Trama de datos en uso:

EstudianteDetalles

Reemplazo de valor para una columna individual

Para ello se selecciona la primera de la columna sobre la que se van a realizar los cambios y luego se le aplica la condición. Las celdas donde la condición es verdadera se reemplazan en consecuencia.

Ejemplo:

R

# creates table with column names 
# and values assigned to them
Name <- c('Adrian', 'Nathan','Heather',
          'Abby', 'Delight', 'Hope', 
          'Lucifer', 'Faith',14,'Joseph')
  
RollNo <- c(24,23,14,18,29,56,14,39,12,20)
  
ID <- c(123, 336, 134, 148, 14, 289, 856, 
        773, 201, 536)
  
CPI <- c(8.5, 8.3, 7.8, 9.1, 7.9, 6.7, 8.3, 7.11,
         7.9, 14.0)
  
HostelRoom <- c(23, 45, 31, 66, 40, 14, 23, 14, 52, 10)
  
  
# stores it in the form of data frame
# with the name StudentDetails
StudentDetails <- data.frame(Name,RollNo,ID,CPI,HostelRoom)
  
# saves the original dataframe with
# the name sdetails
sdetails <- StudentDetails
  
#values equal to 14 are replaced 
# with NA
sdetails$HostelRoom[sdetails$HostelRoom == 14] <- NA
  
# views the modified table
View(sdetails)

Producción:

Después de la modificación: detalles

También se pueden especificar múltiples condiciones con el propósito de reemplazo.

Ejemplo:

R

# creates table with column names 
# and values assigned to them
Name <- c('Adrian','Nathan','Heather',
          'Abby','Delight','Hope',
          'Lucifer','Faith',14,'Joseph')
  
RollNo <- c(24,23,14,18,29,56,14,39,12,20)
  
ID <- c(123, 336, 134, 148, 14, 289, 856, 
        773, 201, 536)
  
CPI <- c(8.5, 8.3, 7.8, 9.1, 7.9, 6.7, 8.3, 
         7.11, 7.9, 14.0)
  
HostelRoom <- c(23, 45, 31, 66, 40, 14, 23, 
                14, 52, 10)
  
# stores it in the form of data frame 
# with the name StudentDetails
StudentDetails <- data.frame(Name,RollNo,ID,CPI,HostelRoom)
  
# saves the original dataframe with
# the name sdetails
sdetails <- StudentDetails
  
# values less than or equal to 20, 
# will be replaced by NA
sdetails$RollNo[sdetails$RollNo<=20] <- "NA"
  
# views the modified table
View(sdetails)

Producción:

Después de la modificación: detalles

Un valor existente también se puede reemplazar por un valor específico del mismo tipo de datos.

Ejemplo:

R

# creates table with column names
# and values assigned to them
Name <- c('Adrian','Nathan','Heather',
          'Abby','Delight','Hope',
          'Lucifer','Faith',14,'Joseph')
  
RollNo <- c(24,23,14,18,29,56,14,39,12,20)
  
ID <- c(123, 336, 134, 148, 14, 289, 856, 
        773, 201, 536)
  
CPI <- c(8.5, 8.3, 7.8, 9.1, 7.9, 6.7, 8.3, 
         7.11, 7.9, 14.0)
  
HostelRoom <- c(23, 45, 31, 66, 40, 14, 23, 
                14, 52, 10)
  
# stores it in the form of data frame 
# with the name StudentDetails
StudentDetails <- data.frame(Name,RollNo,ID,CPI,HostelRoom)
  
# saves the original dataframe with 
# the name sdetails
sdetails <- StudentDetails
   
# Under CPI named column, 8.30 is replaced 
# with 9.00 and 14.00 is replaced with 0.00
sdetails$CPI[sdetails$CPI == 8.30] <- 9.00
sdetails$CPI[sdetails$CPI == 14.00] <- 0.00
  
# views the modified table
View(sdetails)

Producción:

Valores después del reemplazo

Reemplazo de valores para un marco de datos completo

Ahora, estaremos operando para reemplazar los valores de todo el marco de datos, independientemente de las columnas. Para esto, todos los valores en el marco de datos se comparan con la condición y los valores que resultan ser Verdaderos se reemplazan en consecuencia.

Programa:

R

# creates table with column names 
# and values assigned to them
Name <- c('Adrian','Nathan','Heather',
          'Abby','Delight','Hope',
          'Lucifer','Faith',14,'Joseph')
  
RollNo <- c(24,23,14,18,29,56,14,39,12,20)
  
ID <- c(123, 336, 134, 148, 14, 289, 856, 
        773, 201, 536)
  
CPI <- c(8.5, 8.3, 7.8, 9.1, 7.9, 6.7, 8.3, 
         7.11, 7.9, 14.0)
  
HostelRoom <- c(23, 45, 31, 66, 40, 14, 23, 
                14, 52, 10)
  
# stores it in the form of data frame
# with the name StudentDetails
StudentDetails <- data.frame(Name,RollNo,ID,CPI,HostelRoom)
  
# saves the original dataframe with 
# the name sdetails
sdetails <- StudentDetails
  
# replace the values numbered as 14, 
# with NA in the entire dataframe
sdetails[sdetails == 14] <- NA
  
# views the modified table
View(sdetails)

Producción:

Valores después del reemplazo

Publicación traducida automáticamente

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