Pertanyaan Parse JSON dengan R


Saya cukup baru untuk R, tetapi semakin banyak menggunakannya, semakin saya melihat betapa kuatnya itu benar-benar lebih dari SAS atau SPSS. Salah satu manfaat utama, seperti yang saya lihat, adalah kemampuan untuk mendapatkan dan menganalisis data dari web. Saya membayangkan ini mungkin (dan mungkin bahkan sederhana), tetapi saya mencari untuk mengurai data JSON yang tersedia untuk publik di web. Saya bukan seorang programmer dengan peregangan apapun, jadi segala bantuan dan instruksi yang Anda berikan akan sangat dihargai. Bahkan jika Anda mengarahkan saya ke contoh kerja dasar, saya mungkin bisa mengatasinya.


76
2018-01-14 03:03


asal


Jawaban:


RJSONIO dari Omegahat adalah paket lain yang menyediakan fasilitas untuk membaca dan menulis data dalam format JSON.

rjson tidak menggunakan metode S4 / S3 dan tidak mudah dikembangkan, tetapi masih berguna. Sayangnya, ia tidak menggunakan operasi yang di-vector dan terlalu lambat untuk data yang tidak sepele. Demikian pula, untuk membaca data JSON ke dalam R, itu agak lambat dan begitu juga skala ke data besar, seharusnya ini menjadi masalah.

Memperbarui (Paket baru 2013-12-03):

jsonlite: Paket ini adalah garpu dari RJSONIO paket. Ini dibangun di parser dari RJSONIO tetapi mengimplementasikan pemetaan yang berbeda antara objek R dan string JSON. Kode C dalam paket ini sebagian besar berasal dari RJSONIO Paket, kode R telah ditulis ulang dari awal. Selain pengaya drop-in untuk fromJSON dan toJSON, paket ini memiliki fungsi untuk membuat cerita objek. Selanjutnya, paket berisi banyak uji unit untuk memastikan bahwa semua kasus tepi dikodekan dan didekodekan secara konsisten untuk digunakan dengan data dinamis dalam sistem dan aplikasi.


78
2018-01-14 08:05



Itu jsonlite paket mudah digunakan dan mencoba mengubah json menjadi frame data.

Contoh:

library(jsonlite)

# url with some information about project in Andalussia
url <- 'http://www.juntadeandalucia.es/export/drupaljda/ayudas.json'

# read url and convert to data.frame
document <- fromJSON(txt=url)

43
2017-11-23 14:32



Ini contoh yang hilang

library(rjson)
url <- 'http://someurl/data.json'
document <- fromJSON(file=url, method='C')

19
2017-10-28 10:57



Fungsi dariJSON () di RJSONIO, rjson dan jsonlite tidak mengembalikan data 2D sederhana.frame untuk objek bersarang json yang kompleks.

Untuk mengatasinya Anda bisa menggunakannya tidyjson. Dibutuhkan json dan selalu mengembalikan data.frame. Saat ini tidak tersedia dalam CRAN, Anda bisa mendapatkannya di sini: https://github.com/sailthru/tidyjson

Memperbarui:  tidyjson sekarang tersedia di cran, Anda dapat menginstalnya langsung menggunakan install.packages("tidyjson")


3
2017-12-03 10:43



Sebagai catatan, rjson dan RJSONIO melakukan perubahan jenis file, tetapi mereka tidak benar-benar mengurai per se. Sebagai contoh, saya menerima data MongoDB jelek dalam format JSON, mengkonversinya dengan rjson atau RJSONIO, kemudian menggunakan tidak terdaftar dan ton koreksi manual untuk benar-benar menguraikannya menjadi matriks yang dapat digunakan.


2
2018-02-26 17:36



Coba kode di bawah ini menggunakan RJSONIO di konsol

library(RJSONIO)
library(RCurl)


json_file = getURL("https://raw.githubusercontent.com/isrini/SI_IS607/master/books.json")

json_file2 = RJSONIO::fromJSON(json_file)

head(json_file2)

1
2017-08-01 08:28