Angenommen, ich habe folgendes:Konvertieren Multi-Layer-Liste von Listen zu einem data.frame?
library(httr)
foo <- content(GET(paste0("https://api.cryptowat.ch/markets/kraken/ethusd/ohlc?after=1483228800&before=9999999999&periods=86400")))
Das Ergebnis foo
ist eine Liste von 2 zusätzlichen Listen: result
und allowance
. Ich muss foo$result
(unten) in eine data.frame
glätten.
> foo
$`86400`[[311]]
$`86400`[[311]][[1]]
[1] 1510012800
$`86400`[[311]][[2]]
[1] 295.1
$`86400`[[311]][[3]]
[1] 304.21
$`86400`[[311]][[4]]
[1] 291.3
$`86400`[[311]][[5]]
[1] 298.5
$`86400`[[311]][[6]]
[1] 13792.92
$`86400`[[311]][[7]]
[1] 0
$`86400`[[312]]
$`86400`[[312]][[1]]
[1] 1510099200
$`86400`[[312]][[2]]
[1] 298.5
$`86400`[[312]][[3]]
[1] 303.3
$`86400`[[312]][[4]]
[1] 287.28
$`86400`[[312]][[5]]
[1] 292.07
$`86400`[[312]][[6]]
[1] 32132.04
$`86400`[[312]][[7]]
[1] 0
...
...
Die data.frame
sollte nrow
gleich length(foo$result[[1]])
und ncol
gleich 7 haben:
1510012800 295.1 304.21 291.3 298.5 13792.92 0
1510099200 298.5 303.3 287.28 292.07 32132.04 0
...
...
Ist dies eine schnelle Art und Weise ähnlich der mit lapply
oder zu tun? Ich versuchte die ldply
Funktion von plyr
Paket, so: lapply(foo$result[[1]], FUN = ldply, .fun = data.frame)
, aber dies gibt immer noch eine Liste von Listen.
Irgendwelche Ideen?
Danke dafür !! – Ray