Basic R Series 4 - Biến đổi số liệu (RECODE) tạo biến mới trong R
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 rows
2. 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.00
Ví 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] <- 2
Trong đ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 rows
sau 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