Pregunta Parse JSON con R


Soy bastante nuevo para R, pero cuanto más lo uso, más veo lo poderoso que realmente es con SAS o SPSS. Solo uno de los principales beneficios, según los veo, es la capacidad de obtener y analizar datos de la web. Me imagino que esto es posible (y tal vez incluso directo), pero estoy buscando analizar los datos de JSON que están públicamente disponibles en la web. No soy un programador de ninguna manera, por lo que cualquier ayuda e instrucción que pueda proporcionar será muy apreciada. Incluso si me apunta a un ejemplo básico de trabajo, probablemente pueda superarlo.


76
2018-01-14 03:03


origen


Respuestas:


RJSONIO de Omegahat es otro paquete que proporciona facilidades para leer y escribir datos en formato JSON.

RJSON no utiliza métodos S4 / S3 y por lo tanto no es fácilmente extensible, pero sigue siendo útil. Desafortunadamente, no usa operaciones vectorizadas, por lo que es demasiado lenta para datos no triviales. De manera similar, para leer datos JSON en R, es algo lento y, por lo tanto, no se escala a datos grandes, si esto fuera un problema.

Actualizar (nuevo paquete 2013-12-03):

jsonlite: Este paquete es una bifurcación del RJSONIO paquete. Se basa en el analizador de RJSONIO pero implementa una asignación diferente entre los objetos R y las cadenas JSON. El código C en este paquete es principalmente del RJSONIO Paquete, el código R ha sido reescrito desde cero. Además de reemplazos para fromJSON y toJSON, el paquete tiene funciones para serializar objetos. Además, el paquete contiene muchas pruebas unitarias para asegurarse de que todas las cajas de borde estén codificadas y decodificadas consistentemente para su uso con datos dinámicos en sistemas y aplicaciones.


78
2018-01-14 08:05



los jsonlite paquete es fácil de usar e intenta convertir json en marcos de datos.

Ejemplo:

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



Aquí está el ejemplo que falta

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

19
2017-10-28 10:57



La función de JSON () en RJSONIO, rjson y jsonlite no devuelve un simple data.frame 2D para objetos json anidados complejos.

Para superar esto, puede usar tidyjson. Toma un json y siempre devuelve un data.frame. Actualmente no está disponible en CRAN, puede obtenerlo aquí: https://github.com/sailthru/tidyjson

Actualizar:  tidyjson ahora está disponible en Cran, puedes instalarlo directamente usando install.packages("tidyjson")


3
2017-12-03 10:43



Para el registro, Rjson y RJSONIO cambian el tipo de archivo, pero realmente no se analizan per se. Por ejemplo, recibo feos datos de MongoDB en formato JSON, los convierto con rjson o RJSONIO, y luego uso una lista y toneladas de corrección manual para analizarla en una matriz utilizable.


2
2018-02-26 17:36



Pruebe el siguiente código usando RJSONIO en la consola

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