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 levelsargument 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 levelsargument 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