おそらく最初の行動は、骨に沿ってリストを理解することです。あなたが持っているものは、長さ1のリストです。names(doc)
を実行すると、このリスト要素の名前はdata
です。オブジェクトの構造を完全に表示するには、str(doc)
を試してください。それは多くの出力です!ここでは何が起こっているのかの感覚を与えるためのいくつかの最初の行です。
[[
と$
を使用してリストを処理できます。また、[
がありますが、詳細はthis tweetを参照してください。最初の要素にはdoc$data
,doc[[1]]
またはdoc[["data]]
でアクセスできます。すべてが同等ですが、いくつかはいくつかのタスクにとってより便利かもしれません。リストツリーを "登る"には、余分な引数を追加するだけです。これらをすべて混在させることができます。スニークプレビューのインラインコードを参照してください。あなたの質問から、あなたが後にしているjsonファイルのどの部分が明確ではない。質問を拡大するか、さらに改善して、doc
で修正してみてください。
doc:
data # doc[[1]] or doc[["data"]] pr doc$data
|___ refreshInterval # doc[[1]][[1]] or doc[[1]][["refreshinterval"]] or doc[["data"]][["refreshinterval]] or doc$data$refreshinterval
|___ game # doc[[1]][[2]] or doc[[1]][["game"]] or you go the idea
|___ awayteamid # doc$data$refreshinterval
|___ awayteamname
|___ hometeamname
|___ plays
|___ awayteamnick
|___ hometeamnick
|___ hometeamid
あなたはあなたの応答のための
xy <- doc$data$game$plays$play
xy[1:6, c("desc", "type", "p2name", "teamid", "ycoord", "xcoord")]
desc type p2name teamid ycoord xcoord
1 Radko Gudas hit Chris Kreider Hit Chris Kreider 4 -12 -96
2 Pavel Buchnevich Wrist Shot saved by Steve Mason Shot Steve Mason 3 26 -42
3 Brandon Pirri hit Brandon Manning Hit Brandon Manning 3 42 -68
4 Nick Cousins hit Adam Clendening Hit Adam Clendening 4 35 92
5 Nick Cousins Wrist Shot saved by Henrik Lundqvist Shot Henrik Lundqvist 4 19 86
6 Michael Grabner Wrist Shot saved by Steve Mason Shot Steve Mason 3 5 -63
感謝を介してゲームの統計情報にアクセスすることができます。興味のあるのは、すべてのjson行をcol名でデータフレームに読み込むことです。 – gav
この場合、「json lines by colname」が何を表しているかは完全にはわかりません。出力の構造を調べて、期待される出力がどのように見えるかをお知らせください。 –
これはまあまあ申し訳ありませんが、私はちょうどこの質問を正しく行う方法を知らないと思います。最も簡単なレベルは、このリンクです。[link](https://statsapi.web.nhl.com/api/v1/game/2016020679/feed/live?site=en_nhl) xcoord、ycoord、periodTimeの列で 'event:Missed Shot'を実行すると、私はビジネスになります。 もう一度ご理解とご協力をいただき、ありがとうございます。 – gav