¿Cómo convertir carácter a factor en R?

El método as.factor() en el lenguaje de programación R se usa para convertir el vector de caracteres en una clase de factor.

Conversión de vector de caracteres a factor 

Sintaxis :

as.factor(char-vec)

donde char-vec es el vector de caracteres

La clase indicativa del tipo de datos del vector se puede obtener usando el método class(). Tras la conversión, el tipo de datos se devuelve como un factor. 

class(fac-vec)

donde char-vec es el vector de caracteres

Ejemplo :

R

# declaring a character vector
str_vec < - c("Geeks", "For", "Geeks", "Programming", "Coding")
print("Original String")
print(str_vec)
  
# getting the class of vector
class(str_vec)
  
str_mod < - as.factor(str_vec)
print("Modified String")
print(str_mod)
  
# getting the class of vector
class(str_mod)

Producción

[1] "Original String"
[1] "Geeks"       "For"         "Geeks"       "Programming" "Coding"    
[1] "character"
[1] "Modified String"
[1] Geeks       For         Geeks       Programming Coding    
Levels: Coding For Geeks Programming
[1] "factor"

Conversión de columna de marco de datos a columna de factor

De manera similar, una columna de marco de datos se puede convertir a un tipo de factor, haciendo referencia a la columna de datos en particular usando el comando df$col-name en R. 

Ejemplo :

R

# declaring a character vector
data_frame < - data.frame(col1=c(1: 5),
                          col2=c("Geeks", "For", "Geeks",
                                 "Programming", "Coding")
                          )
print("Original Class")
  
# getting the class of vector
class(data_frame$col2)
  
# modifying the col2 of data frame
data_frame$col2 < - as.factor(data_frame$col2)
  
print("Modified Class")
class(data_frame$col2)

Producción

[1] "Original Class" 
[1] "character" 
[1] "Modified Class" 
[1] "factor"

Publicación traducida automáticamente

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