Reemplace el contenido de la columna de factor en el marco de datos R

En este artículo, vamos a ver cómo reemplazar el contenido de la columna de factor en el marco de datos en el lenguaje de programación R.

Ejemplo 1: Sustitución del contenido de la columna de factores 

Inicialmente, la columna de factores se convierte en una columna de caracteres mediante la conversión explícita del método as.character() en R. Esto convierte la columna especificada en un tipo de carácter, que puede contener valores de elementos duplicados, sin que todas las copias pertenezcan al mismo nivel. 

A esto le sigue el reemplazo del antiguo valor de celda de esta columna por uno nuevo. Luego, la columna vuelve a convertirse en tipo de factor utilizando el método as.factor()

Los niveles de la columna del marco de datos se pueden imprimir usando el métodolevels() . Si mostramos los niveles antes y después del reemplazo, serán diferentes. 

R

# creating a data frame
data_frame <- data.frame(col1 = factor(c(1,2,1,5,2)),
                         col2 = factor(c("a","b","a","c","d"))
                         )
print("Original DataFrame")
print (data_frame)
 
print ("Original DataFrame Levels")
print(levels(data_frame$col1))
 
# replicating the data frame
data_temp <- data_frame
 
# replacing the content of data frame
data_temp$col1 <- as.character(data_frame$col1)
data_temp$col1[3] <- 4
data_temp$col1 <- as.factor(data_temp$col1)
 
print("Modified DataFrame")
print(data_temp)
 
print ("Modified DataFrame Levels")
print(levels(data_temp$col1))

Producción:

Ejemplo 2: Sustitución de nivel de la columna de factor 

Los niveles del marco de datos también se pueden modificar usando el métodolevels(). El valor del nivel anterior se puede comparar utilizando el método de indexación del marco de datos y luego se le puede asignar un valor nuevo. Todas las ocurrencias de este nivel se cambian al nuevo nivel asignado. El número de niveles, en este caso, sigue siendo el mismo pero cambia de valor. 

R

# creating a data frame
data_frame <- data.frame(col1 = factor(c(1,2,1,5,2)),
                         col2 = factor(c("a","b","a","c","d"))
                         )
print("Original DataFrame")
print (data_frame)
 
print ("Original DataFrame Levels")
print(levels(data_frame$col2))
 
# replicating the data frame
data_temp <- data_frame
 
# replacing the level of data frame
levels(data_temp$col2)[levels(data_temp$col2) == "a"] <- "e"
print("Modified DataFrame")
print(data_temp)
 
print ("Modified DataFrame Levels")
print(levels(data_temp$col2))

Producción:

Publicación traducida automáticamente

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