Hướng dẫn cơ bản về tệp JSON trong R
Xin chào các pháp sư tương lai của R! Hôm nay, chúng ta sẽ bắt đầu một hành trình đầy thú vị vào thế giới của các tệp JSON và cách làm việc với chúng trong R. Đừng lo lắng nếu bạn chưa bao giờ lập trình trước đây - tôi sẽ là hướng dẫn viên thân thiện của bạn trong cuộc phiêu lưu này, như tôi đã làm cho hàng trăm sinh viên trong những năm dạy học của mình. Hãy cùng lặn xuống!
JSON là gì?
Trước khi chúng ta bắt đầu, hãy nhanh chóng hiểu qua JSON là gì. JSON là viết tắt của JavaScript Object Notation. Đây là một định dạng dữ liệu nhẹ, dễ đọc và viết cho con người, và dễ phân tích và tạo ra cho máy móc. Hãy tưởng tượng nó như một cách để lưu trữ thông tin một cách có cấu trúc và tổ chức - giống như một tủ đựng hồ sơ rất ngăn nắp!
Cài đặt gói rjson
Để làm việc với các tệp JSON trong R, chúng ta cần một công cụ đặc biệt. Trong thế giới R, chúng ta gọi những công cụ này là "gói". Gói mà chúng ta sẽ sử dụng叫做 "rjson". Hãy cài đặt nó!
install.packages("rjson")
library(rjson)
Khi bạn chạy những dòng này, R sẽ truy cập internet, tải xuống gói rjson, và sẵn sàng để chúng ta sử dụng. Điều này giống như đi đến một bộ công cụ kỹ thuật số và chọn đúng công cụ cho công việc của mình!
Dữ liệu đầu vào
Bây giờ chúng ta đã có công cụ của mình, hãy xem xét một số dữ liệu. Hãy tưởng tượng chúng ta có một tệp JSON叫做 "students.json" với thông tin về một số sinh viên. Nó có thể trông giống như này:
{
"students": [
{
"name": "Alice",
"age": 20,
"major": "Computer Science"
},
{
"name": "Bob",
"age": 22,
"major": "Mathematics"
},
{
"name": "Charlie",
"age": 21,
"major": "Physics"
}
]
}
Tệp JSON này chứa một mảng sinh viên, nơi mỗi sinh viên có tên, tuổi và chuyên ngành. Nó giống như một cơ sở dữ liệu mini của lớp chúng ta!
Đọc tệp JSON
Bây giờ, hãy đọc tệp JSON này vào R. Chúng ta sẽ sử dụng hàm fromJSON()
từ gói rjson:
json_data <- fromJSON(file = "students.json")
Dòng này告诉 R để đọc tệp "students.json" và lưu nội dung của nó vào một biến叫做 json_data
. Điều này giống như chúng ta đang đổ nội dung của tệp JSON vào một容器 trong R.
Hãy xem chúng ta đã có gì:
print(json_data)
Bạn nên thấy điều gì đó như sau:
$students
$students[[1]]
$students[[1]]$name
[1] "Alice"
$students[[1]]$age
[1] 20
$students[[1]]$major
[1] "Computer Science"
$students[[2]]
$students[[2]]$name
[1] "Bob"
$students[[2]]$age
[1] 22
$students[[2]]$major
[1] "Mathematics"
$students[[3]]
$students[[3]]$name
[1] "Charlie"
$students[[3]]$age
[1] 21
$students[[3]]$major
[1] "Physics"
Chúc mừng! Bạn vừa đọc tệp JSON đầu tiên của mình vào R!
Chuyển đổi JSON thành Data Frame
Mặc dù dữ liệu JSON bây giờ đã ở trong R, nhưng nó không ở định dạng tiện lợi nhất cho phân tích. Trong R, chúng ta thường thích làm việc với một thứ gọi là "data frame". Điều này giống như một bảng hoặc bảng tính. Hãy chuyển đổi dữ liệu JSON của chúng ta thành một data frame:
students_df <- do.call(rbind, lapply(json_data$students, as.data.frame))
Wow! Điều này có vẻ phức tạp, phải không? Hãy phân tích nó:
-
json_data$students
truy cập phần "students" của dữ liệu JSON của chúng ta. -
lapply()
áp dụng hàmas.data.frame()
cho mỗi sinh viên trong danh sách. -
do.call(rbind, ...)
lấy tất cả các data frame cá nhân và gộp chúng lại thành một data frame lớn.
Bây giờ, hãy xem data frame mới của chúng ta:
print(students_df)
Bạn nên thấy điều gì đó như sau:
name age major
1 Alice 20 Computer Science
2 Bob 22 Mathematics
3 Charlie 21 Physics
Tuyệt vời! Bây giờ chúng ta có một bảng nhỏ gọn của dữ liệu sinh viên.
Làm việc với Data Frame
Bây giờ chúng ta đã có dữ liệu trong một data frame, chúng ta có thể dễ dàng thực hiện nhiều thao tác khác nhau trên nó. Dưới đây là một vài ví dụ:
- Lấy tuổi trung bình của sinh viên:
mean_age <- mean(students_df$age)
print(paste("Tuổi trung bình của sinh viên là:", mean_age))
- Tìm tất cả các sinh viên theo một chuyên ngành cụ thể:
cs_students <- students_df[students_df$major == "Computer Science", ]
print("Sinh viên theo chuyên ngành Khoa học máy tính:")
print(cs_students)
- Thêm một cột mới:
students_df$graduation_year <- 2023 + (22 - students_df$age)
print(students_df)
Kết luận
Và thế là chúng ta đã hoàn thành! Chúng ta đã đi từ việc cài đặt một gói, qua việc đọc một tệp JSON, đến việc chuyển đổi nó thành một data frame và thực hiện một số thao tác cơ bản. Bạn đã bước những bước đầu tiên vào thế giới của việc xử lý dữ liệu trong R!
Nhớ rằng, như bất kỳ kỹ năng nào, việc làm việc với JSON trong R sẽ dễ dàng hơn với sự luyện tập. Đừng sợ thử nghiệm và thử những điều mới. Ai biết được? Phát hiện dữ liệu lớn tiếp theo có thể đang chờ đợi bạn!
Dưới đây là bảng tóm tắt các hàm chính chúng ta đã sử dụng:
Hàm | Gói | Mô tả |
---|---|---|
install.packages() |
base R | Cài đặt một gói |
library() |
base R | Tải một gói |
fromJSON() |
rjson | Đọc một tệp JSON |
do.call() |
base R | Xây dựng và thực hiện một cuộc gọi hàm |
rbind() |
base R | Kết hợp các đối tượng R theo hàng |
lapply() |
base R | Áp dụng một hàm cho một danh sách hoặc vector |
as.data.frame() |
base R | Ép thành một data frame |
mean() |
base R | Tính toán trung bình |
Chúc bạn lập trình vui vẻ, và dữ liệu của bạn luôn sạch sẽ!
Credits: Image by storyset