En este artículo, discutiremos cómo convertir la clase de factor a la clase de caracteres en el lenguaje de programación R.
Método 1: convertir un vector de un solo factor en un vector de caracteres
Para convertir un vector de factor único en un vector de caracteres, usamos la función as.character() del lenguaje R y pasamos el vector de factor requerido como argumento.
Sintaxis:
character_vector <- as.character( Factor_vector )
Ejemplo:
Aquí, en este ejemplo, hemos convertido un vector de factores en un vector de caracteres usando la función as.character().
R
# create factor vector Input <- factor(c("Geeks", "for", "Geek")) # print input factor vector and its class print("Input vector:") Input print("Input Data Class:") class(Input) # Convert factor vector to character vector Output <- as.character(Input) # print Output character vector and its class print("Output vector:") Output print("Output Data Class:") class(Output)
Producción:
Input vector: Geeks for Geek Input Data Class: factor Output vector: "Geeks" "for" "Geek" Output Data Class: character
Método 2: convertir columnas de vectores de factores en columnas de vectores de caracteres en un marco de datos
Para convertir un vector de factor conocido en un vector de caracteres, creamos una copia duplicada del marco de datos de entrada. Luego use la función as.character() del lenguaje R y pase la columna de vector de factor requerida del marco de datos como argumento.
Sintaxis:
Salida$factor_vector_column <- as.character( Salida$factor_vector_column )
Ejemplo:
Aquí, en este ejemplo, hemos convertido una columna de vector de factores en una columna de vector de caracteres usando la función as.character().
R
# create factor vector x <- factor(c("Geeks", "for", "Geek")) y <- c(1,2,3) Input <- data.frame( x, y ) # print input factor vector and its data Class print("Input vector:") Input print("Input Data Class:") class(Input$x) # Convert factor vector to character vector Output <- Input Output$x <- as.character(Input$x) # print Output character vector and its Class print("Output vector:") Output print("Output Data Class:") class(Output$x)
Producción:
Input vector: x y 1 Geeks 1 2 for 2 3 Geek 3 Input Data Class: factor Output vector: x y 1 Geeks 1 2 for 2 3 Geek 3 Output Data Class: character
Método 3: convertir columnas de vectores de factores en columnas de vectores de caracteres en un marco de datos donde las columnas son desconocidas
Para convertir un vector de factor conocido en un vector de caracteres, creamos una copia duplicada del marco de datos de entrada. Luego use la instrucción condicional is.factor() para encontrar las columnas que tienen un factor de clase de datos. Luego use la función as.character() del lenguaje R y pase la columna de vector de factor identificado del marco de datos como un argumento.
Sintaxis:
factor_columns <- sapply(Output, is.factor) Output[factor_columns] <- lapply(Output[factor_columns], as.character)
Ejemplo:
Aquí, en este ejemplo, hemos convertido todas las columnas de vectores de factores en columnas de vectores de caracteres mediante el uso de la función as.character() identificada por la instrucción condicional is.factor().
R
# create Input dataframe x <- factor(c("Geeks", "for", "Geek")) y <- c(1,2,3) z <- factor(c("Complete", "Interview", "Preparation")) Input <- data.frame( x, y, z ) # print input data frame and its data Class print("Input dataframe:") Input print("Input Data Class:") sapply(Input, class) #Convert factor vector to character vector Output <- Input factor_columns <- sapply(Output, is.factor) Output[factor_columns] <- lapply(Output[factor_columns], as.character) # print Output character vector and its Class print("Output dataframe:") Output print("Output Data Class:") sapply(Output, class)
Producción:
Input dataframe: x y z 1 Geeks 1 Complete 2 for 2 Interview 3 Geek 3 Preparation Input Data Class: x y z "factor" "numeric" "factor" Output dataframe: x y z 1 Geeks 1 Complete 2 for 2 Interview 3 Geek 3 Preparation Output Data Class: x y z "character" "numeric" "character"
Método 4: convertir todas las columnas del marco de datos en caracteres
Para convertir todas las columnas del marco de datos en el carácter, usamos la función apply() con el parámetro as.character. La función lapply() aplica la función dada al marco de datos provisto.
Sintaxis:
dataframe <- lapply(dataframe, as.character)
Ejemplo:
Aquí, en este ejemplo, hemos convertido todas las columnas del marco de datos en columnas de vectores de caracteres usando la función as.character usando la función lapply().
R
# create Input dataframe x <- c("Geeks", "for", "Geek") y <- c(1,2,3) z <- factor(c("Complete", "Interview", "Preparation")) df <- data.frame( x, y, z ) # print input data frame and its data Class print("Input dataframe:") df print("Input Data Class:") sapply(df, class) #Convert all columns of data frame to character vector df <- lapply(df, as.character) # print Output character vector and its Class print("Output dataframe:") df print("Output Data Class:") sapply(df, class)
Producción:
Input dataframe: x y z 1 Geeks 1 Complete 2 for 2 Interview 3 Geek 3 Preparation Input Data Class: x y z "character" "numeric" "factor" Output dataframe: $x [1] "Geeks" "for" "Geek" $y [1] "1" "2" "3" $z [1] "Complete" "Interview" "Preparation" Output Data Class: x y z "character" "character" "character"
Publicación traducida automáticamente
Artículo escrito por mishrapriyank17 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA