Discussion:
[R-es] Lectura Archivo JSON
Diego Iglesias
2018-09-04 00:00:33 UTC
Permalink
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
Víctor Granda García
2018-09-04 07:41:26 UTC
Permalink
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)
Post by 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.
library(jsonlite)
json_data <- fromJSON(file.choose())
listing <- as.data.frame(do.call(("cbind"), flatten(json_data$listing)))
mean(listing$currentPrice.amount)
[1] NA
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
_______________________________________________
R-help-es mailing list
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
*Víctor Granda García*
Data Technician


***@creaf.uab.cat
Tel. +34 93 581 33 53


Campus UAB. Edifici C. 08193 Bellaterra (Barcelona) | *www.creaf.cat*
<http://www.creaf.uab.es/cat/index.htm>

Abans d'imprimir aquest missatge electrònic penseu en el medi ambient.

[[alternative HTML version deleted]]
Carlos Ortega
2018-09-04 08:15:24 UTC
Permalink
Hola,
head(listing$currentPrice.amount)
[[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.
my_listing <- unlist(listing$currentPrice.amount)
head(my_listing)
[1] 9.70 9.70 10.49 10.90 12.10 12.10
mean(my_listing)
[1] 63.77911

Gracias,
Carlos Ortega
www.qualityexcellence.es
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.
library(jsonlite)
json_data <- fromJSON(file.choose())
listing <- as.data.frame(do.call(("cbind"), flatten(json_data$listing)))
mean(listing$currentPrice.amount)
[1] NA
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
_______________________________________________
R-help-es mailing list
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
Saludos,
Carlos Ortega
www.qualityexcellence.es

[[alternative HTML version deleted]]
Diego Iglesias
2018-09-06 17:59:20 UTC
Permalink
Gracias Carlos y Victor por la ayuda, ambas soluciones me funcionaron bien
para el problema.
Saludos,

Diego Iglesias
Post by Carlos Ortega
Hola,
head(listing$currentPrice.amount)
[[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.
my_listing <- unlist(listing$currentPrice.amount)
head(my_listing)
[1] 9.70 9.70 10.49 10.90 12.10 12.10
mean(my_listing)
[1] 63.77911
Gracias,
Carlos Ortega
www.qualityexcellence.es
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.
library(jsonlite)
json_data <- fromJSON(file.choose())
listing <- as.data.frame(do.call(("cbind"), flatten(json_data$listing)))
mean(listing$currentPrice.amount)
[1] NA
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
_______________________________________________
R-help-es mailing list
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
Saludos,
Carlos Ortega
www.qualityexcellence.es
[[alternative HTML version deleted]]

Loading...