¿Cómo crear variables categóricas en R?

En este artículo, aprenderemos cómo crear variables categóricas en el lenguaje de programación R.

En estadística, las variables se pueden dividir en dos categorías, es decir, variables categóricas y variables cuantitativas. Las variables que consisten en valores numéricos cuantificables se conocen como variables cuantitativas y una variable categórica es una variable que puede tomar uno de un número limitado y generalmente fijo de valores posibles, asignando cada individuo u otra unidad de observación a un grupo particular. o categoría nominal sobre la base de alguna propiedad cualitativa.

Método 1: Variable categórica desde cero

Para crear una variable categórica desde cero, es decir, dando un valor manual para cada fila de datos, usamos la función factor() y pasamos la columna de datos que se va a convertir en una variable categórica. Esta función factor() convierte la variable cuantitativa en una variable categórica al agrupar los mismos valores.

Sintaxis:

df$categorical_variable <- factor( categorical_vector )

dónde

  • df: determina el marco de datos.
  • categorical_variable: determina la variable de columna final que contendrá datos categóricos.
  • categorical_vector: es el vector que se tiene que convertir.

Ejemplo:

Aquí hay un marco de datos básico donde se agrega un nuevo grupo de columnas como una variable categórica.

R

# create sample data frame
df <- data.frame(x=c(10, 23, 13, 41, 15),
                 y=c(71, 17, 28, 32, 12))
  
# create categorical vector
group_vector <- c('A','B','C','D','E')
  
# Add categorical variable to the data frame
df$group <- factor(group_vector)
  
# print data frame
df

Producción:

   x  y group
1 10 71     A
2 23 17     B
3 13 28     C
4 41 32     D
5 15 12     E

Método 2: Variable categórica de la columna Existente usando dos valores

Para crear una variable categórica a partir de la columna existente, usamos una declaración if-else dentro de la función factor() y le damos un valor a una columna si cierta condición es verdadera; de lo contrario, le damos otro valor.

Sintaxis:

 df$categorical_variable <- as.factor( ifelse(condition, val1, val2) )

dónde

  • df: determina el marco de datos.
  • categorical_variable: determina la variable de columna final que contendrá datos categóricos.
  • condición: determina la condición a verificar, si la condición es verdadera, use val1 de lo contrario val2.

Ejemplo:

Aquí, hay un marco de datos básico donde se agrega un nuevo grupo de columnas como una variable categórica de una condición if-else.

R

# create sample data frame
df <- data.frame(x=c(10, 23, 13, 41, 15),
                 y=c(71, 17, 28, 32, 12))
  
# Add categorical variable to the data frame
df$group <- as.factor(ifelse(df$x >20, 'A', 'B'))
  
# print data frame
df

Producción:

   x  y group
1 10 71     B
2 23 17     A
3 13 28     B
4 41 32     A
5 15 12     B

Método 3: Variable categórica de la columna Existente usando múltiples valores

Para crear una variable categórica a partir de la columna existente, usamos varias declaraciones if-else dentro de la función factor() y asignamos un valor a una columna si cierta condición es verdadera, si ninguna de las condiciones es verdadera, usamos el valor else de la última declaración.

Sintaxis:

df$variable_categórica <- as.factor( ifelse(condición, val,ifelse(condición, val,ifelse(condición, val, ifelse(condición, val, vale_else)))))

dónde

  • df: determina el marco de datos.
  • categorical_variable: determina la variable de columna final que contendrá datos categóricos.
  • condition: determina la condición a verificar, si la condición es verdadera, use val.
  • val_else: determina el valor si ninguna condición es verdadera.

Ejemplo:

Aquí, hay un marco de datos básico donde se agrega un nuevo grupo de columnas como una variable categórica de múltiples condiciones if-else.

R

# create sample data frame
df <- data.frame(x=c(10, 23, 13, 41, 15, 11, 23, 45, 95, 23, 75),
                 y=c(71, 17, 28, 32, 12, 13, 41, 15, 11, 23, 34))
  
# Add categorical variable to the data frame
df$group <- as.factor(ifelse(df$x<20, 'A',
                     ifelse(df$x<30, 'B',
                     ifelse(df$x<50, 'C',
                     ifelse(df$x<90, 'D', 'E')))))
  
# print data frame
df

Producción:

    x  y group
1  10 71     A
2  23 17     B
3  13 28     A
4  41 32     C
5  15 12     A
6  11 13     A
7  23 41     B
8  45 15     C
9  95 11     E
10 23 23     B
11 75 34     D

Publicación traducida automáticamente

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