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 levels
argument 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 levels
argumencie, 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