Chuyển đến nội dung chính
Mô-đun 2 · Bài học 1 trong tổng số 23/10 trong khóa học~12 min
Bài học theo mô-đun (1/2)

Khung dữ liệu

Không giống như ma trận, chỉ có thể chứa các phần tử thuộc một loại duy nhất, Khung dữ liệu biểu thị cấu trúc dữ liệu dạng bảng được sử dụng rộng rãi nhất trong R để phân tích dữ liệu trong thế giới thực.

Khung dữ liệu là một bảng trong đó mỗi cột có thể chứa các loại dữ liệu khác nhau (ví dụ: cột số, cột văn bản và cột logic), nhưng tất cả các cột phải có cùng độ dài.

Tạo khung dữ liệu

Để tạo Khung dữ liệu, hãy sử dụng hàm data.frame(), xác định tên cột và gán vectơ cho chúng:

R
# Create a sample data frame
students <- data.frame(
  name = c("Alice", "Bob", "Charlie"),
  grade = c(28, 24, 30),
  passed = c(TRUE, TRUE, TRUE)
)
print(students)

Truy cập cột và hàng

Có một số cách để trích xuất và thao tác dữ liệu trong Khung dữ liệu:

  1. Sử dụng toán tử đô la $: Cho phép trích xuất một cột dưới dạng vectơ.
    R
    grades <- students$grade
    # grades will be the vector c(28, 24, 30)
  2. Sử dụng dấu ngoặc vuông [row, column]: Tương tự như ma trận.
    R
    # First student (first row)
    first_student <- students[1, ]

Lọc dữ liệu

Một trong những điểm mạnh của R là khả năng lọc các bản ghi dựa trên các điều kiện logic:

R
# Select only students with grade greater than 25
good_students <- students[students$grade > 25, ]
print(good_students)

Kích thước và sửa đổi khung dữ liệu

Để tìm kích thước của Khung dữ liệu (số hàng và cột), chúng ta có thể sử dụng hàm dim():

R
# Returns a vector with two elements: c(rows, columns)
dimensions <- dim(students)

Chúng ta cũng có thể thêm các cột mới hoặc cập nhật các cột hiện có bằng cách sử dụng trực tiếp toán tử $:

R
# Adds a column with grades increased by 2 points
students$bonus_grade <- students$grade + 2

Hãy tự mình thử

tập thể dục#r.m2.l1.e1
Nỗ lực: 0Đang tải…

Tạo Khung dữ liệu có tên sinh viên chứa hai cột: tên (với giá trị 'Alice' và 'Bob') và lớp (với giá trị 28 và 24).

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Sử dụng hàm data.frame: sinh viên <- data.frame(name = c('Alice', 'Bob'),grade = c(28, 24))

Giải pháp khả dụng sau 3 lần thử

tập thể dục#r.m2.l1.e2
Nỗ lực: 0Đang tải…

Với các học sinh trong Khung dữ liệu, hãy trích xuất cột điểm bằng toán tử $ và lưu nó vào biến Grade_vector.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Nhà điều hành Hoa Kỳ $: Grade_vector <- Students$grade

Giải pháp khả dụng sau 3 lần thử

tập thể dục#r.m2.l1.e3
Nỗ lực: 0Đang tải…

Lọc sinh viên trong Khung dữ liệu để chỉ bao gồm những sinh viên có điểm lớn hơn hoặc bằng 26, lưu kết quả vào good_students.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Sử dụng Students[students$grade >= 26, ] mà không quên dấu phẩy để chọn tất cả các cột.

Giải pháp khả dụng sau 3 lần thử

tập thể dục#r.m2.l1.e4
Nỗ lực: 0Đang tải…

Cho khung dữ liệu df, lấy kích thước của nó bằng hàm dim() và lưu chúng vào biến df_dim.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Sử dụng hàm dim(): df_dim <- dim(df)

Giải pháp khả dụng sau 3 lần thử

tập thể dục#r.m2.l1.e5
Nỗ lực: 0Đang tải…

Với khoảng không quảng cáo trong khung dữ liệu, hãy thêm một cột mới có tên là Total_value được tính là tích của cột giá và số lượng.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Sử dụng: Inventory$total_value <- Inventory$price * Inventory$quantity

Giải pháp khả dụng sau 3 lần thử