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:
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:
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:
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:
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:
Publicación traducida automáticamente
Artículo escrito por shilpimazumdar7150 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA