Skip to content
Prev 366621 / 398502 Next

JSON data in data frame

The R as.dataframe includes that embeded dataframe as:

                                 list.weather
1           620, Snow, light shower snow, 13n
2 520, Rain, light intensity shower rain, 09n
3               800, Clear, Sky is Clear, 01n


An R solution for extraction might be:

 do.call(rbind, d1$list$weather)
#---------
   id  main                 description icon
1 620  Snow           light shower snow  13n
2 520  Rain light intensity shower rain  09n
3 800 Clear                Sky is Clear  01n


cbind( as.data.frame( d1$list[ !names(d1$list) %in% "weather"]), do.call(rbind, d1$list$weather) )
#----------
  coord.lon coord.lat sys.type sys.id sys.message sys.country sys.sunrise
1     37.62     55.75        1   7323      0.2075          RU  1484372967
2     30.52     50.43        1   7358      0.1982          UA  1484373141
3     -0.13     51.51        1   5091      0.2218          GB  1484380764
  sys.sunset main.temp main.pressure main.humidity main.temp_min main.temp_max
1 1484400490     -1.50          1009            80            -2            -1
2 1484403724      2.66           999            93             2             3
3 1484410813      2.46          1021            80             1             5
  visibility wind.speed wind.deg wind.var_beg wind.var_end all         dt      id
1       9000        6.0      150          120          190  90 1484416800  524901
2       9000        4.0      190           90          230  90 1484416800  703448
3      10000        5.1      280           NA           NA   0 1484418000 2643743
    name  id  main                 description icon
1 Moscow 620  Snow           light shower snow  13n
2   Kiev 520  Rain light intensity shower rain  09n
3 London 800 Clear                Sky is Clear  01n