Czynniki R


Czynniki

Czynniki służą do kategoryzacji danych. Przykładami czynników są:

  • Demografia: mężczyzna/kobieta
  • Muzyka: rock, pop, klasyka, jazz
  • Trening: Siła, Wytrzymałość

Aby utworzyć czynnik, użyj factor()funkcji i dodaj wektor jako argument:

Przykład

# Create a factor
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

# Print the factor
music_genre

Wynik:

[1] Jazz    Rock    Classic Classic Pop     Jazz    Rock    Jazz
Levels: Classic Jazz Pop Rock

Na powyższym przykładzie widać, że współczynnik ma cztery poziomy (kategorie): Classic, Jazz, Pop i Rock.

Aby wydrukować tylko poziomy, użyj levels()funkcji:

Przykład

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

levels(music_genre)

Wynik:

[1] "Classic" "Jazz"    "Pop"     "Rock"   

Możesz również ustawić poziomy, dodając levelsargument wewnątrz factor()funkcji:

Przykład

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"), levels = c("Classic", "Jazz", "Pop", "Rock", "Other"))

levels(music_genre)

Wynik:

[1] "Classic" "Jazz"    "Pop"     "Rock"    "Other"

Czynnik Długość

Użyj length()funkcji, aby dowiedzieć się, ile elementów znajduje się w czynniku:

Przykład

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

length(music_genre)

Wynik:

[1] 8

Czynniki dostępu

Aby uzyskać dostęp do pozycji we współczynniku, odnieś się do numeru indeksu, używając []nawiasów:

Przykład

Uzyskaj dostęp do trzeciego przedmiotu:

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

music_genre[3]

Wynik:

[1] Classic
Levels: Classic Jazz Pop Rock

Zmień wartość pozycji

Aby zmienić wartość określonej pozycji, zapoznaj się z numerem indeksu:

Przykład

Zmień wartość trzeciej pozycji:

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

music_genre[3] <- "Pop"

music_genre[3]

Wynik:

[1] Pop
Levels: Classic Jazz Pop Rock

Należy zauważyć, że nie można zmienić wartości określonej pozycji, jeśli nie jest ona już określona we współczynniku. Poniższy przykład spowoduje błąd:

Przykład

Próba zmiany wartości trzeciego elementu ("Classic") na element, który nie istnieje/nie jest predefiniowany ("Opera"):

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

music_genre[3] <- "Opera"

music_genre[3]

Wynik:

Warning message:
In `[<-.factor`(`*tmp*`, 3, value = "Opera") :
  invalid factor level, NA generated

Jeśli jednak określiłeś już to w levelsargumencie, zadziała:

Przykład

Zmień wartość trzeciej pozycji:

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]

Wynik:

[1] Opera
Levels: Classic Jazz Pop Rock Opera