Logo
Le Phuc HaiPHD RESEARCHER & FOUNDER
Data Analysis

R101 - Bài 2: Dọn Rác Dữ Liệu (Data Cleaning) - Ác Mộng Của Mọi Researcher

80% thời gian làm Data là để... dọn rác. Thiếu dữ liệu (NA), sai định dạng, dư khoảng trắng. Đừng lo, gói `tidyverse` sẽ là cái chổi thần kỳ của bạn.

12 min read
R101 - Bài 2: Dọn Rác Dữ Liệu (Data Cleaning) - Ác Mộng Của Mọi Researcher

Sếp gửi cho bạn file `customer_data.csv`. Bạn hý hửng mở ra và... ối giời ơi:
- Cột tuổi thì có ông điền "chín mươi", ông điền "90".
- Cột thu nhập thì ông điền số, ông điền "5 củ".
- Cột giới tính thì "Nam", "Male", "M", "Boy" loạn xì ngầu.

Nếu đưa đống rác này vào chạy SPSS hay Excel thì nó báo lỗi ngay. R có một cái máy hút bụi cực mạnh tên là `dplyr`.

Data Cleaning Process
lehai.edu.vn

Quy trình dọn rác: Input Rác -> Qua phễu lọc -> Output Sạch bong kin kít.

1. Load dữ liệu & Thư viện

`library(tidyverse)` (Gọi chổi thần)
`df <- read_csv("marketing_sample.csv")` (Đọc file)

Lệnh `read_csv` hay hơn `read.csv` của R gốc nhiều. Nó thông minh hơn, tự đoán định dạng (số hay chữ) chuẩn hơn.

2. Các tuyệt chiêu dọn nhà

- Lọc khách hàng (Filter): Chỉ lấy khách VIP?
`df_vip <- filter(df, Customer_Type == "VIP")`

- Chọn cột (Select): Bảng 100 cột, chỉ lấy cột Tên và Tuổi?
`df_small <- select(df, Name, Age)`

- Tạo biến mới (Mutate): Muốn tính Lương Năm = Lương Tháng 12?
`df <- mutate(df, Annual_Income = Monthly_Income 12)`

- Sắp xếp (Arrange): Ai giàu nhất đứng đầu?
`df <- arrange(df, desc(Income))`

Thấy chưa? Viết code mà như viết văn tả cảnh vậy. `filter` là lọc, `arrange` là sắp xếp. Dễ hiểu đến phát khóc.

Ví dụ thực tế (Simulation)

Giả sử ta có bảng dữ liệu gốc:

[@portabletext/react] Unknown block type "code", specify a component for it in the `components.types` prop

Chạy lệnh dọn rác:
`df_clean <- df %>% drop_na()`

Kết quả (Bùm!):

[@portabletext/react] Unknown block type "code", specify a component for it in the `components.types` prop

Tags

#Quantitative#R101#Data Cleaning#dplyr#Góc nhìn HaiLP

About Lê Phúc Hải

National Business Development Director with over 13 years of experience. Hybrid Scholar-Practitioner bridging academia and industry.