Damao
Damao

Reputation: 31

How to convert the data below to dataframe so that I can plot them out? (data retrieved from API commands)

I have recently retrieved the data from one of our remote monitors through API using the command res <- GET("myurl", authenticate("xxx", "xxx")). Then I got,

    > res
    Response [https://myurl?dataFormat=json&orient=split&days=1&last=false&valuesOnly=false]
      Date: 2021-09-09 17:34
      Status: 200
      Content-Type: text/html; charset=utf-8
      Size: 29.3 kB`

Then I use data = fromJSON(rawToChar(res$content)) to parse the table to characters. The result I got:

    > data
    $columns
     [1] "DATETIME"        "TIMESTAMP"       "RECORD"          "RunType"        
     [5] "Vapor"           "Concentration"   "PeakHeight"      "PeakLocation"   
     [9] "CalFactor"       "ColTemp"         "CarrDuty"        "Baseline"       
    [13] "Ver"             "RunCount"        "Status"          "Latitude"       
    [17] "Longitude"       "WS_ms"           "WS_avg"          "WindDir"        
    [21] "Battery_Voltage" "EnclosureTemp"   "EngineTemp"      "AlarmLevel"     
    
    $data
           [,1]                   [,2]                       [,3]   [,4]   [,5]     
      [1,] "2021-09-08T17:26:17Z" "2021-09-08 11:26:17-0600" "3776" "MEAS" "BENZENE"
      [2,] "2021-09-08T17:36:17Z" "2021-09-08 11:36:17-0600" "3777" "MEAS" "BENZENE"
      [3,] "2021-09-08T17:46:17Z" "2021-09-08 11:46:17-0600" "3778" "MEAS" "BENZENE"
      [4,] "2021-09-08T17:56:17Z" "2021-09-08 11:56:17-0600" "3779" "MEAS" "BENZENE"
      [5,] "2021-09-08T18:06:25Z" "2021-09-08 12:06:25-0600" "3780" "CAL"  "BENZENE"
      [6,] "2021-09-08T18:16:17Z" "2021-09-08 12:16:17-0600" "3781" "MEAS" "BENZENE"
      [7,] "2021-09-08T18:26:17Z" "2021-09-08 12:26:17-0600" "3782" "MEAS" "BENZENE"
      [8,] "2021-09-08T18:36:17Z" "2021-09-08 12:36:17-0600" "3783" "MEAS" "BENZENE"
      [9,] "2021-09-08T18:46:17Z" "2021-09-08 12:46:17-0600" "3784" "MEAS" "BENZENE"
     [10,] "2021-09-08T18:56:17Z" "2021-09-08 12:56:17-0600" "3785" "MEAS" "BENZENE"
     [11,] "2021-09-08T19:06:17Z" "2021-09-08 13:06:17-0600" "3786" "MEAS" "BENZENE"
     [12,] "2021-09-08T19:16:17Z" "2021-09-08 13:16:17-0600" "3787" "MEAS" "BENZENE"
     [13,] "2021-09-08T19:26:17Z" "2021-09-08 13:26:17-0600" "3788" "MEAS" "BENZENE"
     [14,] "2021-09-08T19:36:17Z" "2021-09-08 13:36:17-0600" "3789" "MEAS" "BENZENE"
     [15,] "2021-09-08T19:46:17Z" "2021-09-08 13:46:17-0600" "3790" "MEAS" "BENZENE"
     [16,] "2021-09-08T19:56:16Z" "2021-09-08 13:56:16-0600" "3791" "MEAS" "BENZENE"
     [17,] "2021-09-08T20:06:16Z" "2021-09-08 14:06:16-0600" "3792" "MEAS" "BENZENE"
     [18,] "2021-09-08T20:16:16Z" "2021-09-08 14:16:16-0600" "3793" "MEAS" "BENZENE"
     [19,] "2021-09-08T20:26:16Z" "2021-09-08 14:26:16-0600" "3794" "MEAS" "BENZENE"
     [20,] "2021-09-08T20:36:16Z" "2021-09-08 14:36:16-0600" "3795" "MEAS" "BENZENE"
     [21,] "2021-09-08T20:46:16Z" "2021-09-08 14:46:16-0600" "3796" "MEAS" "BENZENE"
     [22,] "2021-09-08T20:56:15Z" "2021-09-08 14:56:15-0600" "3797" "MEAS" "BENZENE"
     [23,] "2021-09-08T21:06:16Z" "2021-09-08 15:06:16-0600" "3798" "MEAS" "BENZENE"
     [24,] "2021-09-08T21:16:16Z" "2021-09-08 15:16:16-0600" "3799" "MEAS" "BENZENE"
     [25,] "2021-09-08T21:26:16Z" "2021-09-08 15:26:16-0600" "3800" "MEAS" "BENZENE"
     [26,] "2021-09-08T21:36:16Z" "2021-09-08 15:36:16-0600" "3801" "MEAS" "BENZENE"
     [27,] "2021-09-08T21:46:16Z" "2021-09-08 15:46:16-0600" "3802" "MEAS" "BENZENE"
     [28,] "2021-09-08T21:56:16Z" "2021-09-08 15:56:16-0600" "3803" "MEAS" "BENZENE"
     [29,] "2021-09-08T22:06:16Z" "2021-09-08 16:06:16-0600" "3804" "MEAS" "BENZENE"
     [30,] "2021-09-08T22:16:16Z" "2021-09-08 16:16:16-0600" "3805" "MEAS" "BENZENE"
     [31,] "2021-09-08T22:26:16Z" "2021-09-08 16:26:16-0600" "3806" "MEAS" "BENZENE"
     [32,] "2021-09-08T22:36:16Z" "2021-09-08 16:36:16-0600" "3807" "MEAS" "BENZENE"
     [33,] "2021-09-08T22:46:16Z" "2021-09-08 16:46:16-0600" "3808" "MEAS" "BENZENE"
     [34,] "2021-09-08T22:56:17Z" "2021-09-08 16:56:17-0600" "3809" "MEAS" "BENZENE"
     [35,] "2021-09-08T23:06:17Z" "2021-09-08 17:06:17-0600" "3810" "MEAS" "BENZENE"
     [36,] "2021-09-08T23:16:17Z" "2021-09-08 17:16:17-0600" "3811" "MEAS" "BENZENE"
     [37,] "2021-09-08T23:26:17Z" "2021-09-08 17:26:17-0600" "3812" "MEAS" "BENZENE"
     [38,] "2021-09-08T23:36:17Z" "2021-09-08 17:36:17-0600" "3813" "MEAS" "BENZENE"
     [39,] "2021-09-08T23:46:17Z" "2021-09-08 17:46:17-0600" "3814" "MEAS" "BENZENE"
     [40,] "2021-09-08T23:56:17Z" "2021-09-08 17:56:17-0600" "3815" "MEAS" "BENZENE"
     [41,] "2021-09-09T00:06:25Z" "2021-09-08 18:06:25-0600" "3816" "CAL"  "BENZENE"
           [,6]   [,7]     [,8]  [,9]    [,10]  [,11]  [,12]    [,13]  [,14]
      [1,] "0.25" "1767"   "185" "1.179" "52.4" "0.08" "130688" "3.04" "834"
      [2,] "0.25" "1739"   "183" "1.179" "52.2" "0.08" "130976" "3.04" "835"
      [3,] "0.26" "2190"   "185" "1.179" "51.9" "0.08" "131464" "3.04" "836"
      [4,] "0.25" "1837"   "185" "1.179" "52.2" "0.08" "131896" "3.04" "837"
      [5,] "9.08" "186269" "183" "1.187" "52.4" "0.08" "132304" "3.04" "838"
      [6,] "0.31" "3393"   "184" "1.187" "51.7" "0.08" "133184" "3.04" "839"
      [7,] "0.28" "2653"   "185" "1.187" "52.1" "0.08" "133476" "3.04" "840"
      [8,] "0.26" "2120"   "185" "1.187" "52.4" "0.08" "133900" "3.04" "841"
      [9,] "0.27" "2260"   "185" "1.187" "51.8" "0.08" "134192" "3.04" "842"
     [10,] "0.26" "2178"   "185" "1.187" "52"   "0.08" "134608" "3.04" "843"
     [11,] "0.25" "1868"   "185" "1.187" "52.3" "0.08" "135092" "3.04" "844"
     [12,] "0.24" "1654"   "186" "1.187" "52.4" "0.08" "135496" "3.04" "845"
     [13,] "0.27" "2326"   "184" "1.187" "51.8" "0.08" "135932" "3.04" "846"
     [14,] "0.26" "1963"   "185" "1.187" "52.1" "0.08" "136396" "3.04" "847"
     [15,] "0.25" "1829"   "185" "1.187" "52.5" "0.08" "136764" "3.04" "848"
     [16,] "0.26" "2110"   "185" "1.187" "51.8" "0.08" "137104" "3.04" "849"
     [17,] "0.3"  "3114"   "184" "1.187" "52"   "0.08" "137488" "3.04" "850"
     [18,] "0.24" "1557"   "186" "1.187" "52.3" "0.08" "137952" "3.04" "851"
     [19,] "0.23" "1237"   "186" "1.187" "52.4" "0.08" "138312" "3.04" "852"
     [20,] "0.27" "2390"   "184" "1.187" "51.9" "0.08" "138736" "3.04" "853"
           [,15]         [,16]           [,17]             [,18]   [,19]   [,20]  
      [1,] "OK   "       "32.8518183333" "-104.39718"      "7.664" "5.334" "23.63"
      [2,] "OK   "       "32.8518233333" "-104.3971816667" "6.664" "4.847" "353.5"
      [3,] "OK   "       "32.851825"     "-104.39718"      "2.999" "4.805" "352.8"
      [4,] "OK   "       "32.8518133333" "-104.3971783333" "4.165" "4.786" "0.408"
      [5,] "OK CAL PASS" "32.8518116667" "-104.397185"     "4.831" "4.522" "12.97"
      [6,] "OK   "       "32.8518083333" "-104.397185"     "3.165" "4.269" "27.72"
      [7,] "OK   "       "32.8518066667" "-104.3971766667" "3.165" "4.182" "0.085"
      [8,] "OK   "       "32.8518083333" "-104.397175"     "2.832" "4.059" "9.05" 
      [9,] "OK   "       "32.8518183333" "-104.3971783333" "3.665" "3.597" "53.43"
     [10,] "OK   "       "32.851825"     "-104.3971783333" "4.498" "4.291" "40.63"
     [11,] "OK   "       "32.851825"     "-104.397175"     "2.832" "3.158" "32.96"
     [12,] "OK   "       "32.8518266667" "-104.397175"     "4.332" "3.4"   "35.28"
     [13,] "OK   "       "32.8518383333" "-104.3971716667" "2.332" "4.121" "343.1"
     [14,] "OK   "       "32.851845"     "-104.3971716667" "3.332" "2.911" "25.6" 
     [15,] "OK   "       "32.8518416667" "-104.3971683333" "3.499" "1.802" "8.47" 
     [16,] "OK   "       "32.85184"      "-104.3971683333" "1.333" "3.036" "10.12"
     [17,] "OK   "       "32.8518333333" "-104.3971733333" "2.499" "2.767" "7.565"
     [18,] "OK   "       "32.85183"      "-104.397175"     "1.499" "2.822" "35.21"
     [19,] "OK   "       "32.851825"     "-104.3971716667" "1.999" "2.591" "28"   
     [20,] "OK   "       "32.8518216667" "-104.3971716667" "0.666" "1.631" "352.4"
           [,21]   [,22]   [,23]   [,24] 
      [1,] "12.24" "31.5"  "33.33" "NONE"
      [2,] "12.23" "31.91" "33.25" "NONE"
      [3,] "12.25" "32.34" "33.24" "NONE"
      [4,] "12.15" "32.87" "33.38" "NONE"
      [5,] "12.12" "33.09" "33.42" "NONE"
      [6,] "12.22" "33.43" "33.34" "NONE"
      [7,] "12.04" "33.92" "33.41" "NONE"
      [8,] "12.01" "34.46" "33.48" "NONE"
      [9,] "12.02" "34.67" "33.48" "NONE"
     [10,] "12.16" "34.88" "33.52" "NONE"
     [11,] "12.05" "35.04" "33.46" "NONE"
     [12,] "12.21" "35.41" "33.53" "NONE"
     [13,] "12.23" "35.6"  "33.48" "NONE"
     [14,] "12.28" "35.86" "33.45" "NONE"
     [15,] "11.89" "36.27" "33.57" "NONE"
     [16,] "11.8"  "36.47" "33.61" "NONE"
     [17,] "11.9"  "36.63" "33.66" "NONE"
     [18,] "12.05" "36.61" "33.6"  "NONE"
     [19,] "11.89" "37"    "33.61" "NONE"
     [20,] "12.09" "37.26" "33.63" "NONE"
     [ reached getOption("max.print") -- omitted 104 rows ]

I want to plot the data out and do some analysis but never got this data into a dataframe. Can someone help me out? Thank you in advance!

Upvotes: 0

Views: 38

Answers (1)

r2evans
r2evans

Reputation: 160607

setNames(as.data.frame(XYZ$data), XYZ$columns)
#               DATETIME                TIMESTAMP RECORD RunType   Vapor
# 1 2021-09-08T17:26:17Z 2021-09-08 11:26:17-0600   3776    MEAS BENZENE
# 2 2021-09-08T17:36:17Z 2021-09-08 11:36:17-0600   3777    MEAS BENZENE
# 3 2021-09-08T17:46:17Z 2021-09-08 11:46:17-0600   3778    MEAS BENZENE

Abridged sample data:

XYZ <- list(columns = c("DATETIME", "TIMESTAMP", "RECORD", "RunType", "Vapor"), data = structure(c("2021-09-08T17:26:17Z", "2021-09-08T17:36:17Z", "2021-09-08T17:46:17Z", "2021-09-08 11:26:17-0600", "2021-09-08 11:36:17-0600", "2021-09-08 11:46:17-0600", "3776", "3777", "3778", "MEAS", "MEAS", "MEAS", "BENZENE", "BENZENE", "BENZENE"), .Dim = c(3L, 5L)))

Upvotes: 1

Related Questions