R語(yǔ)言 JSON文件

2022-06-16 15:53 更新

JSON文件以人類可讀格式將數(shù)據(jù)存儲(chǔ)為文本。 Json代表JavaScript Object Notation。 R可以使用rjson包讀取JSON文件。

安裝rjson包

在R語(yǔ)言控制臺(tái)中,您可以發(fā)出以下命令來(lái)安裝rjson包。

install.packages("rjson")

輸入數(shù)據(jù)

通過(guò)將以下數(shù)據(jù)復(fù)制到文本編輯器(如記事本)中來(lái)創(chuàng)建JSON文件。 使用.json擴(kuò)展名保存文件,并將文件類型選擇為所有文件(*.*)。

{ 
   "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"]
}

讀取JSON文件

JSON文件由R使用來(lái)自JSON()的函數(shù)讀取。 它作為列表存儲(chǔ)在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)

當(dāng)我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -

$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"

將JSON轉(zhuǎn)換為數(shù)據(jù)幀

我們可以使用as.data.frame()函數(shù)將上面提取的數(shù)據(jù)轉(zhuǎn)換為R語(yǔ)言數(shù)據(jù)幀以進(jìn)行進(jìn)一步分析。

# 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)

當(dāng)我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -

      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

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)