Skip to content

[R-es] Lectura Archivo JSON

4 messages · Víctor Granda García, Carlos Ortega, Diego Iglesias

#
Hola comunidad eRrera,

Acudo a ustedes después de pelearme un rato y salir perdedor con la lectura
de un archivo json. Por el momento he conseguido leerlo y transformar la
parte que me interesa a data frame, sin embargo no consigo poder manipular
los datos para calcular por ejemplo la media de una de las variables.

El código que estoy ejecutando es:

library(jsonlite)
json_data <- fromJSON(file.choose())
listing <- as.data.frame(do.call(("cbind"), flatten(json_data$listing)))
mean(listing$currentPrice.amount)

y me devuelve el error:

[1] NA
Warning message:
In mean.default(listing$currentPrice.amount) :
  argument is not numeric or logical: returning NA

Adjunto el archivo json por si es de utilidad. Gracias de antemano por si
alguien me puede ayudar para transformar el archivo json en un data frame
con características normales.

Saludos,

Diego Iglesias

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20180903/ec9dcc46/attachment-0001.html>

------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: event-data.json
Type: application/json
Size: 162972 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20180903/ec9dcc46/attachment-0001.json>
#
Hola Diego,

Probablemente, al sacar los datos del archivo json te los está guardando
como carácter. Prueba con

mean(as.numeric(listing$currentPrice.amount), na.rm = TRUE)
On Tue, 4 Sep 2018 at 02:00 Diego Iglesias <diego.ibayo en gmail.com> wrote:

            
#
Hola,

Sí, el problema es este:
[[1]]
[1] 9.7

[[2]]
[1] 9.7

[[3]]
[1] 10.49

[[4]]
[1] 10.9

[[5]]
[1] 12.1

que "currentPrice.amount" es una lista.
Simplemente con esto lo arreglas:
[1]  9.70  9.70 10.49 10.90 12.10 12.10
[1] 63.77911

Gracias,
Carlos Ortega
www.qualityexcellence.es

El 4 de septiembre de 2018, 2:00, Diego Iglesias <diego.ibayo en gmail.com>
escribió:

  
    
2 days later
#
Gracias Carlos y Victor por la ayuda, ambas soluciones me funcionaron bien
para el problema.
Saludos,

Diego Iglesias


El mar., 4 sept. 2018 a las 3:15, Carlos Ortega (<cof en qualityexcellence.es>)
escribió: