Jestem całkiem nowy w R, ale im częściej go używam, tym bardziej widzę, jak potężny jest naprawdę w porównaniu z SAS lub SPSS. Jedną z głównych zalet, jak je widzę, jest możliwość pobierania i analizowania danych z sieci. Wyobrażam sobie, że jest to możliwe (a może nawet proste), ale chcę przeanalizować dane JSON, które są publicznie dostępne w sieci. Nie jestem programistą w żadnym wypadku, więc każda pomoc i instrukcja, którą możesz udzielić, będą bardzo mile widziane. Nawet jeśli wskażesz mi podstawowy przykład roboczy, prawdopodobnie będę mógł przez to przejść.
Jsonlite pakiet jest łatwy w obsłudze i próbuje przekonwertować json w ramkach danych.
Przykład:
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)
źródło
jsonlite
jest mniej więcej tak przydatny jak widelec do jedzenia zupy.Oto brakujący przykład
library(rjson) url <- 'http://someurl/data.json' document <- fromJSON(file=url, method='C')
źródło
Funkcja fromJSON () w RJSONIO, rjson i jsonlite nie zwraca prostej 2D data.frame dla złożonych zagnieżdżonych obiektów json.
Aby temu zaradzić, możesz użyć tidyjson . Pobiera json i zawsze zwraca data.frame. Obecnie nie jest dostępny w CRAN, możesz go pobrać tutaj: https://github.com/sailthru/tidyjson
Aktualizacja: tidyjson jest już dostępny w cran, możesz go zainstalować bezpośrednio za pomocą
install.packages("tidyjson")
źródło
Dla przypomnienia, rjson i RJSONIO zmieniają typ pliku, ale tak naprawdę nie analizują per se. Na przykład otrzymuję brzydkie dane MongoDB w formacie JSON, konwertuję je za pomocą rjson lub RJSONIO, a następnie używam unlist i mnóstwa ręcznej korekty, aby faktycznie przeanalizować je w użyteczną macierz.
źródło
Wypróbuj poniższy kod używając RJSONIO w konsoli
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)
źródło