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