Lập chỉ mục khung dữ liệu
Bài học 2 trên 14 trong khóa học Thao tác dữ liệu trong R của Coddy.
Hiểu cách lập chỉ số và trích xuất tập con của khung dữ liệu là điều cốt yếu để thao tác dữ liệu hiệu quả. Hãy cùng tìm hiểu các phương pháp lập chỉ số khác nhau trong khung dữ liệu.
Đây là khung dữ liệu mà chúng ta sẽ dùng làm ví dụ:
df <- data.frame(
name = c("Alice", "Bob", "Charlie", "David", "Eve"),
age = c(25, 30, 35, 28, 22),
city = c("New York", "London", "Paris", "Tokyo", "Sydney"),
salary = c(50000, 60000, 75000, 55000, 45000)
)Lập chỉ số theo vị trí
# Một phần tử df[2, 3] # Trả về phần tử ở hàng thứ 2, cột thứ 3 (ký tự: "London")# Toàn bộ hàng df[3, ] # Trả về hàng thứ 3 dưới dạng khung dữ liệu gồm 1 hàng và tất cả các cột# Toàn bộ cột df[, 2] # Trả về cột thứ 2 dưới dạng vector df[[2]] # Cũng trả về cột thứ 2 dưới dạng vector# Nhiều hàng hoặc cột: df[1:3, ] # Trả về 3 hàng đầu tiên df[, c(1, 3)] # Trả về cột thứ nhất và thứ ba
Lập chỉ số theo tên
# Một cột df$age # Trả về cột "age" dưới dạng vectơ df[["age"]] # Cũng trả về cột "age" dưới dạng vectơ# Nhiều cột df[c("name", "city")] # Trả về một khung dữ liệu có các cột "name" và "city"
Lập chỉ số logic
df[df$age > 30, ] # Trả về các hàng có age lớn hơn 30
Kết hợp các phương pháp
df[df$salary > 50000, "name"] # Trả về tên của những người có mức lương > 50000
Thêm và chỉnh sửa dữ liệu
# Thêm một cột mới df$department <- c("HR", "IT", "Finance", "Marketing", "Sales")# Chỉnh sửa dữ liệu hiện có df[df$name == "Alice", "salary"] <- 52000
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tự làm thử
Bài học này không có thử thách code.
Tất cả bài học trong Thao tác dữ liệu trong R
1Cơ bản về dữ liệu
Hiểu về cấu trúc dữ liệuLập chỉ mục khung dữ liệuLấy tập con dữ liệuChuyển đổi kiểu dữ liệuToán tử pipe trong R3Định hình lại dữ liệu
Định dạng rộng sang định dạng dàiĐịnh dạng dài sang định dạng rộngXử lý dữ liệu thiếuTự luyện tập: Trình biên dịch R online