R – Factores

Los factores en el lenguaje de programación R son estructuras de datos que se implementan para categorizar los datos o representar datos categóricos y almacenarlos en múltiples niveles. 

Se pueden almacenar como enteros con una etiqueta correspondiente a cada entero único. Aunque los factores pueden parecer similares a los vectores de caracteres, son números enteros y se debe tener cuidado al usarlos como strings. El factor acepta solo un número restringido de valores distintos. Por ejemplo, un campo de datos como el género puede contener valores solo de mujer, hombre o transgénero.

En el ejemplo anterior, todos los casos posibles se conocen de antemano y están predefinidos. Estos valores distintos se conocen como niveles. Una vez que se crea un factor, solo consta de niveles que se ordenan alfabéticamente de manera predeterminada.  

Atributos de los factores en lenguaje R

  • x: Es el vector que necesita convertirse en un factor.
  • Niveles: Es un conjunto de valores distintos que se le dan al vector de entrada x.
  • Etiquetas: Es un vector de caracteres correspondiente al número de etiquetas.
  • Excluir: Esto mencionará todos los valores que desea excluir.
  • Ordenado: este atributo lógico decide si los niveles están ordenados.
  • nmax: Decidirá el límite superior para el número máximo de niveles.

Creación de un factor en el lenguaje de programación R

El comando utilizado para crear o modificar un factor en lenguaje R es – factor() con un vector como entrada. 
Los dos pasos para crear un factor son:  

  • Creando un vector
  • Convertir el vector creado en un factor usando la función factor()

Ejemplos: Vamos a crear un factor género con niveles femenino, masculino y transgénero.  

R

# Creating a vector
x < -c("female", "male", "male", "female")
print(x)
 
# Converting the vector x into a factor
# named gender
gender < -factor(x)
print(gender)

Producción: 

[1] "female" "male"   "male"   "female"
[1] female male   male   female
Levels: female male

Los niveles también pueden ser predefinidos por el programador. 

R

# Creating a factor with levels defined by programmer
gender <- factor(c("female", "male", "male", "female"),
          levels = c("female", "transgender", "male"));
gender

Producción: 

[1] female male   male   female
Levels: female transgender male

Además, se pueden verificar los niveles de un factor usando la funciónlevels()

Comprobación de un factor en R

La función is.factor() se usa para verificar si la variable es un factor y devuelve «VERDADERO» si es un factor. 

R

gender <- factor(c("female", "male", "male", "female"));
print(is.factor(gender))

Producción: 

[1] TRUE

La función class() también se usa para verificar si la variable es un factor y si es verdadero devuelve «factor». 

R

gender <- factor(c("female", "male", "male", "female"));
class(gender)

Producción: 

[1] "factor" 

Accediendo a elementos de un Factor en R

Al igual que accedemos a los elementos de un vector, de la misma manera accedemos a los elementos de un factor. Si el género es un factor, entonces el género[i] significaría acceder al i -ésimo elemento del factor. 

Ejemplo:  

R

gender <- factor(c("female", "male", "male", "female"));
gender[3]

Producción: 

[1] male
Levels: female male

Se puede acceder a más de un elemento a la vez. 

Ejemplo: 

R

gender <- factor(c("female", "male", "male", "female"));
gender[c(2, 4)]

Producción: 

[1] male   female
Levels: female male

Ejemplo: 

R

gender <- factor(c("female", "male", "male", "female"  ));
gender[-3]

Producción: 

[1] female male   female
Levels: female male

Modificación de un Factor en R

Después de que se forma un factor, sus componentes se pueden modificar, pero los nuevos valores que deben asignarse deben estar en el nivel predefinido. 

Ejemplo:  

R

gender <- factor(c("female", "male", "male", "female"  ));
gender[2]<-"female"
gender

Producción: 

[1] female female male   female
Levels: female male

Para seleccionar todos los elementos del factor género excepto el elemento i-ésimo, se debe usar género[-i]. Entonces, si desea modificar un factor y agregar valor a partir de niveles predefinidos, primero modifique los niveles. 

Ejemplo:  

R

gender <- factor(c("female", "male", "male", "female"  ));
 
# add new level
levels(gender) <- c(levels(gender), "other")   
gender[3] <- "other"
gender

Producción: 

[1] female male   other  female
Levels: female male other 

Factores en el marco de datos 

El marco de datos es similar a una array 2D con las columnas que contienen todos los valores de una variable y las filas que tienen un conjunto de valores de cada columna. Hay cuatro cosas para recordar acerca de los marcos de datos:  

  • los nombres de las columnas son obligatorios y no pueden estar vacíos.
  • Se deben asignar nombres únicos a cada fila.
  • Los datos del marco de datos solo pueden ser de tres tipos: factor, numérico y tipo de carácter.
  • El mismo número de elementos de datos debe estar presente en cada columna.

En el lenguaje R, cuando creamos un marco de datos, su columna son datos categóricos y, por lo tanto, se crea automáticamente un factor en él.
Podemos crear un marco de datos y verificar si su columna es un factor. 

Ejemplo:  

R

age <- c(40, 49, 48, 40, 67, 52, 53) 
salary <- c(103200, 106200, 150200,
            10606, 10390, 14070, 10220)
gender <- c("male", "male", "transgender",
            "female", "male", "female", "transgender")
employee<- data.frame(age, salary, gender) 
print(employee) 
print(is.factor(employee$gender))

Producción: 

  age salary      gender
1  40 103200        male
2  49 106200        male
3  48 150200 transgender
4  40  10606      female
5  67  10390        male
6  52  14070      female
7  53  10220 transgender
[1] TRUE

Publicación traducida automáticamente

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