آموزش فایل های JSON در آر به زبان ساده
فایل JSON داده ها را به صورت یک متن در فرمتی که برای انسان قابل خواندن باشد؛ ذخیره سازی می کند. در واقع Json نماد شیء جاوا اسکریپت است. آر می تواند فایل های JSON را با استفاده از بسته rjson بخواند.
نصب بسته ی rjson
در کنسول آر شما می توانید از فرمان زیر برای نصب بسته rjson استفاده کنید:
install.packages(“rjson”)
داده های ورودی
با کپی کردن داده زیر در یک ویرایشگر داده مانند نوت پد ویندوز؛ یک فایل JSON ایجاد کنید. فایل را با یک پسوند .json ذخیره کرده و نوع فایل را به صورت 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”,
“۷/۳۰/۲۰۱۳”,”۶/۱۷/۲۰۱۴”],
“Dept”:[ “IT”,”Operations”,”IT”,”HR”,”Finance”,”IT”,”Operations”,”Finance”]
}
مطالعه ی فایل JSON
فایل JSON توسط آر؛ با استفاده از تابع ()JSON خوانده می شود. این فایل به شکل یک لیست در آر ذخیره می شود.
# 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)
زمانی که کد بالا را اجرا می کنیم؛ نتیجه زیر به دست می آید:
$ID
[۱] “۱” “۲” “۳” “۴” “۵” “۶” “۷” “۸”
$Name
[۱] “Rick” “Dan” “Michelle” “Ryan” “Gary” “Nina” “Simon” “Guru”
$Salary
[۱] “۶۲۳٫۳” “۵۱۵٫۲” “۶۱۱” “۷۲۹” “۸۴۳٫۲۵” “۵۷۸” “۶۳۲٫۸” “۷۲۲٫۵”
$StartDate
[۱] “۱/۱/۲۰۱۲” “۹/۲۳/۲۰۱۳” “۱۱/۱۵/۲۰۱۴” “۵/۱۱/۲۰۱۴” “۳/۲۷/۲۰۱۵” “۵/۲۱/۲۰۱۳”
“۷/۳۰/۲۰۱۳” “۶/۱۷/۲۰۱۴”
$Dept
[۱] “IT” “Operations” “IT” “HR” “Finance” “IT”
“Operations” “Finance”
تبدیل JSON به یک فریم دیتا
ما می توانیم داده هایی استخراج شده در بالا را به یک دیتافریم تبدیل کنیم تا بتوانیم با استفاده از تابع ()as.data.frame تجزیه و تحلیل بیشتری روی آن انجام دهیم.
# 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)
زمانی که کد بالا را اجرا می کنیم؛ نتیجه زیر به دست می آید:
id, name, salary, start_date, dept
۱ ۱ Rick 623.30 2012-01-01 IT
۲ ۲ Dan 515.20 2013-09-23 Operations
۳ ۳ Michelle 611.00 2014-11-15 IT
۴ ۴ Ryan 729.00 2014-05-11 HR
۵ NA Gary 843.25 2015-03-27 Finance
۶ ۶ Nina 578.00 2013-05-21 IT
۷ ۷ Simon 632.80 2013-07-30 Operations
۸ ۸ Guru 722.50 2014-06-17 Finance