R Faktore
Faktore
Faktore word gebruik om data te kategoriseer. Voorbeelde van faktore is:
- Demografie: Manlik/Vroulik
- Musiek: Rock, Pop, Klassiek, Jazz
- Opleiding: Krag, Stamina
Om 'n faktor te skep, gebruik die factor()
funksie en voeg 'n vektor as argument by:
Voorbeeld
# Create a factor
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
# Print the factor
music_genre
Resultaat:
[1] Jazz Rock Classic Classic Pop Jazz Rock Jazz Levels: Classic Jazz Pop Rock
Jy kan uit die voorbeeld hierbo sien dat die faktor vier vlakke (kategorieë) het: Klassiek, Jazz, Pop en Rock.
Om slegs die vlakke te druk, gebruik die levels()
funksie:
Voorbeeld
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
levels(music_genre)
Resultaat:
[1] "Classic" "Jazz" "Pop" "Rock"
Jy kan ook die vlakke stel deur die levels
argument binne die
factor()
funksie by te voeg:
Voorbeeld
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"), levels = c("Classic", "Jazz", "Pop", "Rock", "Other"))
levels(music_genre)
Resultaat:
[1] "Classic" "Jazz" "Pop" "Rock" "Other"
Faktor Lengte
Gebruik die length()
funksie om uit te vind hoeveel items daar in die faktor is:
Voorbeeld
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
length(music_genre)
Resultaat:
[1] 8
Toegangsfaktore
Om toegang tot die items in 'n faktor te verkry, verwys na die indeksnommer, deur []
hakies te gebruik:
Voorbeeld
Toegang tot die derde item:
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
music_genre[3]
Resultaat:
[1] Classic Levels: Classic Jazz Pop Rock
Verander itemwaarde
Om die waarde van 'n spesifieke item te verander, verwys na die indeksnommer:
Voorbeeld
Verander die waarde van die derde item:
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
music_genre[3] <- "Pop"
music_genre[3]
Resultaat:
[1] Pop Levels: Classic Jazz Pop Rock
Let daarop dat jy nie die waarde van 'n spesifieke item kan verander as dit nie reeds in die faktor gespesifiseer is nie. Die volgende voorbeeld sal 'n fout produseer:
Voorbeeld
Probeer om die waarde van die derde item ("Klassiek") te verander na 'n item wat nie bestaan nie/nie vooraf gedefinieer nie ("Opera"):
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
music_genre[3] <- "Opera"
music_genre[3]
Resultaat:
Warning message: In `[<-.factor`(`*tmp*`, 3, value = "Opera") : invalid factor level, NA generated
As jy dit egter reeds in die levels
argument gespesifiseer het, sal dit werk:
Voorbeeld
Verander die waarde van die derde item:
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]
Resultaat:
[1] Opera Levels: Classic Jazz Pop Rock Opera