Файл JSON хранит данные в виде текста в удобочитаемом формате. Json расшифровывается как JavaScript Object Notation. R может читать файлы JSON с помощью пакета rjson.
Установить пакет rjson
В консоли R вы можете выполнить следующую команду для установки пакета rjson.
install.packages("rjson")
Входные данные
Создайте файл JSON, скопировав приведенные ниже данные в текстовый редактор, например блокнот. Сохраните файл с расширением .json и выберите тип файла в качестве всех файлов (*. *) .
{ "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 с помощью функции из JSON () . Хранится в виде списка в 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)
Когда мы выполняем приведенный выше код, он дает следующий результат —
$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 в фрейм данных
Мы можем преобразовать извлеченные данные выше во фрейм данных R для дальнейшего анализа, используя функцию 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)
Когда мы выполняем приведенный выше код, он дает следующий результат —