Basic R - Biến đổi số liệu (RECODE) tạo biến mới
Khuongcb
1. Chúng ta sẽ sử dụng bộ số liệu shapiro làm ví dụ, bộ số liệu này bao gồm một số biến số
MI Nhồi máu cơ tim
OC Sử dụng thuốc tránh thai
SMOKE Hút thuốc
AGEGROUP Nhóm tuổi
AGEMID Tuổi
shapiro## # A tibble: 1,976 × 5
## MI OC SMOKE AGEGROUP AGEMID
## <dbl+lbl> <dbl+lbl> <dbl+lbl> <dbl> <dbl+lbl>
## 1 0 [No] 0 [No] 0 [None] 1 27 [25-29]
## 2 0 [No] 0 [No] 0 [None] 5 47 [45-49]
## 3 0 [No] 0 [No] 0 [None] 3 37 [35-39]
## 4 0 [No] 0 [No] 0 [None] 2 32 [30-34]
## 5 0 [No] 1 [Yes] 0 [None] 4 42 [40-44]
## 6 0 [No] 0 [No] 0 [None] 3 37 [35-39]
## 7 0 [No] 0 [No] 0 [None] 1 27 [25-29]
## 8 0 [No] 0 [No] 0 [None] 2 32 [30-34]
## 9 1 [Yes] 0 [No] 0 [None] 5 47 [45-49]
## 10 0 [No] 0 [No] 0 [None] 2 32 [30-34]
## # … with 1,966 more rows2. RECODE số liệu, tạo biến mới
Trong bộ số liệu gốc, biến OC được mã hóa 1 là có và 0 là không.
library(summarytools)
freq(OC)## Frequencies
## OC
## Label: Oral contraceptive use
## Type: Numeric
##
## Freq % Valid % Valid Cum. % Total % Total Cum.
## ----------- ------ --------- -------------- --------- --------------
## 0 1812 91.70 91.70 91.70 91.70
## 1 164 8.30 100.00 8.30 100.00
## <NA> 0 0.00 100.00
## Total 1976 100.00 100.00 100.00 100.00Ví dụ, chúng ta muốn tạo ra một biến mới và mã hóa 1 là có và 2 là không. Chúng ta thực hiện như sau:
shapiro$thuoctranhthai[shapiro$OC == 1] <- 1
shapiro$thuoctranhthai[shapiro$OC == 0] <- 2Trong đoạn code trên shapiro là tên bộ số liệu ta đang làm việc trên nó, và khi tạo ra biến mới thuoctranhthai thì biến này cũng sẽ được bổ sung vào bộ số liệu shapiro luôn.
Và cùng xem kết quả.
shapiro## # A tibble: 1,976 × 6
## MI OC SMOKE AGEGROUP AGEMID thuoctranhthai
## <dbl+lbl> <dbl+lbl> <dbl+lbl> <dbl> <dbl+lbl> <dbl>
## 1 0 [No] 0 [No] 0 [None] 1 27 [25-29] 2
## 2 0 [No] 0 [No] 0 [None] 5 47 [45-49] 2
## 3 0 [No] 0 [No] 0 [None] 3 37 [35-39] 2
## 4 0 [No] 0 [No] 0 [None] 2 32 [30-34] 2
## 5 0 [No] 1 [Yes] 0 [None] 4 42 [40-44] 1
## 6 0 [No] 0 [No] 0 [None] 3 37 [35-39] 2
## 7 0 [No] 0 [No] 0 [None] 1 27 [25-29] 2
## 8 0 [No] 0 [No] 0 [None] 2 32 [30-34] 2
## 9 1 [Yes] 0 [No] 0 [None] 5 47 [45-49] 2
## 10 0 [No] 0 [No] 0 [None] 2 32 [30-34] 2
## # … with 1,966 more rowssau khi tạo biến mới thì chúng ta sẽ gán nhãn biến và nhãn giá trị cho biến số đó. Các bạn có thể tham khảo bài đăng trước đây của tôi theo đường link dưới đây: https://caobakhuong.blogspot.com/2023/01/huong-dan-gan-nhan-gia-tri-cua-bien.html
Nhận xét
Đăng nhận xét