yếu tố R
Các nhân tố
Các yếu tố được sử dụng để phân loại dữ liệu. Ví dụ về các yếu tố là:
- Nhân khẩu học: Nam/Nữ
- Âm nhạc: Rock, Pop, Cổ điển, Jazz
- Rèn luyện: Sức mạnh, sức chịu đựng
Để tạo một thừa số, hãy sử dụng hàm factor()
và thêm một vectơ làm đối số:
Ví dụ
# Create a factor
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
# Print the factor
music_genre
Kết quả:
[1] Jazz Rock Cổ điển Pop Jazz Rock Jazz Cấp độ: Jazz Pop Rock cổ điển
Bạn có thể thấy từ ví dụ trên rằng yếu tố này có bốn cấp độ (danh mục): Cổ điển, Jazz, Pop và Rock.
Để chỉ in các cấp độ, hãy sử dụng hàm levels()
:
Ví dụ
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
levels(music_genre)
Kết quả:
[1] "Cổ điển" "Jazz" "Pop" "Rock"
Bạn cũng có thể đặt mức độ bằng cách thêm đối levels
bên trong hàm factor()
:
Ví dụ
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"), levels = c("Classic", "Jazz", "Pop", "Rock", "Other"))
levels(music_genre)
Kết quả:
[1] "Cổ điển" "Jazz" "Pop" "Rock" "Khác"
Độ dài yếu tố
Sử dụng hàm length()
để tìm hiểu xem có bao nhiêu mục trong hệ số:
Ví dụ
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
length(music_genre)
Kết quả:
[1] 8
Yếu tố truy cập
Để truy cập các mục trong một hệ số, hãy tham khảo số chỉ mục, sử dụng dấu ngoặc []
:
Ví dụ
Truy cập mục thứ ba:
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
music_genre[3]
Kết quả:
[1] Cổ điển Cấp độ: Jazz Pop Rock cổ điển
Thay đổi giá trị mục
Để thay đổi giá trị của một mục cụ thể, hãy tham khảo số chỉ mục:
Ví dụ
Thay đổi giá trị của mục thứ ba:
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
music_genre[3] <- "Pop"
music_genre[3]
Kết quả:
[1] Nhạc Pop Cấp độ: Jazz Pop Rock cổ điển
Lưu ý rằng bạn không thể thay đổi giá trị của một mục cụ thể nếu nó chưa được chỉ định trong hệ số. Ví dụ sau sẽ tạo ra lỗi:
Ví dụ
Cố gắng thay đổi giá trị của mục thứ ba ("Cổ điển") thành mục không tồn tại/không được xác định trước ("Opera"):
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz",
"Rock", "Jazz"))
music_genre[3] <- "Opera"
music_genre[3]
Kết quả:
Tin nhắn cảnh báo: Trong `[<-.factor`(`*tmp*`, 3, value = "Opera") : mức yếu tố không hợp lệ, NA được tạo
Tuy nhiên, nếu bạn đã chỉ định nó bên trong đối số levels
, nó sẽ hoạt động:
Ví dụ
Thay đổi giá trị của mục thứ ba:
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]
Kết quả:
[1] Opera Cấp độ: Opera Pop Rock cổ điển Jazz