Saya cukup baru mengenal R, tetapi semakin sering menggunakannya, semakin saya melihat betapa hebatnya itu dibandingkan SAS atau SPSS. Salah satu manfaat utama, menurut saya, adalah kemampuan untuk mendapatkan dan menganalisis data dari web. Saya membayangkan ini mungkin (dan bahkan mungkin langsung), tetapi saya ingin mengurai data JSON yang tersedia untuk umum di web. Saya bukan seorang programmer, jadi bantuan dan instruksi apa pun yang dapat Anda berikan akan sangat dihargai. Bahkan jika Anda menunjukkan kepada saya contoh kerja dasar, saya mungkin bisa mengatasinya.
The jsonlite paket mudah untuk digunakan dan mencoba untuk mengkonversi 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)
sumber
jsonlite
kurang lebih berguna sebagai garpu makan sup.Inilah contoh yang hilang
library(rjson) url <- 'http://someurl/data.json' document <- fromJSON(file=url, method='C')
sumber
Fungsi fromJSON () di RJSONIO, rjson dan jsonlite tidak mengembalikan data.frame 2D sederhana untuk objek json bersarang yang kompleks.
Untuk mengatasinya anda bisa menggunakan tidyjson . Dibutuhkan dalam json dan selalu mengembalikan data.frame. Saat ini tidak tersedia di CRAN, Anda bisa mendapatkannya di sini: https://github.com/sailthru/tidyjson
Pembaruan: tidyjson sekarang tersedia di cran, Anda dapat menginstalnya langsung menggunakan
install.packages("tidyjson")
sumber
Sebagai catatan, rjson dan RJSONIO memang mengubah jenis file, tetapi mereka tidak benar-benar mengurai. Misalnya, saya menerima data MongoDB yang jelek dalam format JSON, mengonversinya dengan rjson atau RJSONIO, kemudian menggunakan unlist dan banyak koreksi manual untuk benar-benar menguraikannya menjadi matriks yang dapat digunakan.
sumber
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)
sumber