私は、Rで動作させたい1500個以上のjsonオブジェクトを含むファイルを持っています。リストとしてデータをインポートすることはできましたが、有用な構造。私は各jsonオブジェクトの行と各キー:列の列を含むデータフレームを作成したいと思います。インポートされたjsonデータをデータフレームに取得する
私はこの小さな、偽のデータセットとの私の状況を再現しました:データの
[{"name":"Doe, John","group":"Red","age (y)":24,"height (cm)":182,"wieght (kg)":74.8,"score":null},
{"name":"Doe, Jane","group":"Green","age (y)":30,"height (cm)":170,"wieght (kg)":70.1,"score":500},
{"name":"Smith, Joan","group":"Yellow","age (y)":41,"height (cm)":169,"wieght (kg)":60,"score":null},
{"name":"Brown, Sam","group":"Green","age (y)":22,"height (cm)":183,"wieght (kg)":75,"score":865},
{"name":"Jones, Larry","group":"Green","age (y)":31,"height (cm)":178,"wieght (kg)":83.9,"score":221},
{"name":"Murray, Seth","group":"Red","age (y)":35,"height (cm)":172,"wieght (kg)":76.2,"score":413},
{"name":"Doe, Jane","group":"Yellow","age (y)":22,"height (cm)":164,"wieght (kg)":68,"score":902}]
一部の機能:すべてのキーの同じ番号が含ま
- オブジェクト:valueのペアが、 一部の値はnullです
- オブジェクト(名前とグループ)あたり2つの非数値列があります(名前とグループ)
- 名前は一意のIDですいろいろなグループがあります。
- 名前とグループのエンティティには、スペース、カンマおよびその他の句読点が含まれています。この質問に基づいて
:R list(structure(list())) to data frame、私は次のことを試してみました:
json_file <- "test.json"
json_data <- fromJSON(json_file)
asFrame <- do.call("rbind.fill", lapply(json_data, as.data.frame))
私の実際のデータと、この偽のデータの両方を使用すると、最後の行は、私は、このエラーを与える:
Error in data.frame(name = "Doe, John", group = "Red", `age (y)` = 24, :
arguments imply differing number of rows: 1, 0
にJSONデータをロードするために、これを試してください。 (XMLのためにXMLtoDataFrameのような関数があるので)JSONtoDataFrameは素晴らしいでしょう。 – userJT
@userJT - 'jsonlite :: fromJSON'があります - NULLを処理し、' data.frame'に単純化します。 [私の答え](http://stackoverflow.com/a/37739735/5977215) – SymbolixAU
これはjson_fileをデータフレームではなく行列に変換します。 data.frameを取得するにはどうすればいいですか? – TSR