R - Tệp JSON
Tệp JSON lưu trữ dữ liệu dưới dạng văn bản ở định dạng con người có thể đọc được. Json là viết tắt của JavaScript Object Notation. R có thể đọc các tệp JSON bằng gói rjson.
Cài đặt gói rjson
Trong bảng điều khiển R, bạn có thể sử dụng lệnh sau để cài đặt gói rjson.
install.packages("rjson")
Dữ liệu đầu vào
Tạo tệp JSON bằng cách sao chép dữ liệu bên dưới vào trình soạn thảo văn bản như notepad. Lưu tệp với một.json phần mở rộng và chọn loại tệp là all files(*.*).
{
"ID":["1","2","3","4","5","6","7","8" ],
"Name":["Rick","Dan","Michelle","Ryan","Gary","Nina","Simon","Guru" ],
"Salary":["623.3","515.2","611","729","843.25","578","632.8","722.5" ],
"StartDate":[ "1/1/2012","9/23/2013","11/15/2014","5/11/2014","3/27/2015","5/21/2013",
"7/30/2013","6/17/2014"],
"Dept":[ "IT","Operations","IT","HR","Finance","IT","Operations","Finance"]
}
Đọc tệp JSON
Tệp JSON được đọc bởi R bằng cách sử dụng hàm từ JSON(). Nó được lưu trữ dưới dạng danh sách trong R.
# Load the package required to read JSON files.
library("rjson")
# Give the input file name to the function.
result <- fromJSON(file = "input.json")
# Print the result.
print(result)
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau:
$ID
[1] "1" "2" "3" "4" "5" "6" "7" "8"
$Name
[1] "Rick" "Dan" "Michelle" "Ryan" "Gary" "Nina" "Simon" "Guru"
$Salary
[1] "623.3" "515.2" "611" "729" "843.25" "578" "632.8" "722.5"
$StartDate
[1] "1/1/2012" "9/23/2013" "11/15/2014" "5/11/2014" "3/27/2015" "5/21/2013"
"7/30/2013" "6/17/2014"
$Dept
[1] "IT" "Operations" "IT" "HR" "Finance" "IT"
"Operations" "Finance"
Chuyển đổi JSON thành Khung dữ liệu
Chúng tôi có thể chuyển đổi dữ liệu được trích xuất ở trên thành khung dữ liệu R để phân tích thêm bằng cách sử dụng as.data.frame() chức năng.
# Load the package required to read JSON files.
library("rjson")
# Give the input file name to the function.
result <- fromJSON(file = "input.json")
# Convert JSON file to a data frame.
json_data_frame <- as.data.frame(result)
print(json_data_frame)
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau:
id, name, salary, start_date, dept
1 1 Rick 623.30 2012-01-01 IT
2 2 Dan 515.20 2013-09-23 Operations
3 3 Michelle 611.00 2014-11-15 IT
4 4 Ryan 729.00 2014-05-11 HR
5 NA Gary 843.25 2015-03-27 Finance
6 6 Nina 578.00 2013-05-21 IT
7 7 Simon 632.80 2013-07-30 Operations
8 8 Guru 722.50 2014-06-17 Finance