Mỗi khi tôi phải mã hóa một số biến số, tôi có chức năng ghi nhớ SPSS. Tôi phải thừa nhận rằng nó khá đơn giản. Có một hàm recode
tương tự trong gói car
và nó thực hiện thủ thuật, nhưng hãy giả sử rằng tôi muốn hoàn thành công việc với factor
.Các yếu tố khung dữ liệu/tái phát với các mức khác nhau
Tôi có data.frame
với nhiều biến với phạm vi giá trị từ 1 đến 7. Tôi muốn "đảo ngược" giá trị biến, do đó thay thế 1s với 7s, 2s với 6s, 3s với 5s vv Tôi có thể sử dụng chức năng factor
:
# create dummy factor
set.seed(100)
x <- as.factor(round(runif(100,1,7)))
y <- factor(x, levels = rev(levels(x)))
Và nếu tôi chạy:
> levels(x)
[1] "1" "2" "3" "4" "5" "6" "7"
> levels(y)
[1] "7" "6" "5" "4" "3" "2" "1"
vấn đề bắt đầu khi tôi muốn để recode yếu tố mà không có trình độ tương đương. Nếu một số yếu tố, z, có mức c("1", "3", "4", "6", "7")
, có bất kỳ cơ hội nào mà tôi có thể "đảo ngược" các mức như vậy 1 = 7, 2 = 6, 3 = 5 vv bằng cách sử dụng hàm factor
?
Các chức năng recode hiệu quả khác sẽ đủ!
Cảm ơn bạn! Có vẻ như tôi quá mệt mỏi và mất tích rõ ràng. Giải pháp rất đơn giản ... Cảm ơn một lần nữa! – aL3xa
+1 Cảm ơn! Điều này giải quyết một vấn đề tương tự cho tôi. –