Factores R
factores
Los factores se utilizan para clasificar los datos. Ejemplos de factores son:
- Demografía: Hombre/Mujer
- Música: Rock, Pop, Clásica, Jazz
- Entrenamiento: Fuerza, Resistencia
Para crear un factor, use la factor()
función y agregue un vector como argumento:
Ejemplo
# Create a factor
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
# Print the factor
music_genre
Resultado:
[1] Jazz Rock Classic Classic Pop Jazz Rock Jazz Levels: Classic Jazz Pop Rock
Puede ver en el ejemplo anterior que el factor tiene cuatro niveles (categorías): Clásico, Jazz, Pop y Rock.
Para imprimir solo los niveles, utilice la levels()
función:
Ejemplo
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
levels(music_genre)
Resultado:
[1] "Classic" "Jazz" "Pop" "Rock"
También puede establecer los niveles, agregando el levels
argumento dentro de la
factor()
función:
Ejemplo
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"), levels = c("Classic", "Jazz", "Pop", "Rock", "Other"))
levels(music_genre)
Resultado:
[1] "Classic" "Jazz" "Pop" "Rock" "Other"
Longitud de factores
Usa la length()
función para averiguar cuántos elementos hay en el factor:
Ejemplo
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
length(music_genre)
Resultado:
[1] 8
Factores de acceso
Para acceder a los elementos de un factor, consulte el número de índice, utilizando []
paréntesis:
Ejemplo
Accede al tercer elemento:
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
music_genre[3]
Resultado:
[1] Classic Levels: Classic Jazz Pop Rock
Cambiar el valor del artículo
Para cambiar el valor de un elemento específico, consulte el número de índice:
Ejemplo
Cambia el valor del tercer elemento:
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
music_genre[3] <- "Pop"
music_genre[3]
Resultado:
[1] Pop Levels: Classic Jazz Pop Rock
Tenga en cuenta que no puede cambiar el valor de un artículo específico si no está ya especificado en el factor. El siguiente ejemplo producirá un error:
Ejemplo
Intentando cambiar el valor del tercer elemento ("Clásico") a un elemento que no existe/no está predefinido ("Opera"):
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
music_genre[3] <- "Opera"
music_genre[3]
Resultado:
Warning message: In `[<-.factor`(`*tmp*`, 3, value = "Opera") : invalid factor level, NA generated
Sin embargo, si ya lo ha especificado dentro del levels
argumento, funcionará:
Ejemplo
Cambia el valor del tercer elemento:
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"), levels = c("Classic", "Jazz", "Pop", "Rock",
"Opera"))
music_genre[3] <- "Opera"
music_genre[3]
Resultado:
[1] Opera Levels: Classic Jazz Pop Rock Opera