トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン 印刷

bind_rows()

auditR

データを行に加える

同じ構造のデータフレームが2つ以上あった場合、dpylyr::bind_rows()で一体化させるのは基本動作。

dplyr::bind_rows(df1, df2)

リストデータからデータを抜き出す

JSONを扱うとリストの扱いが必ず登場する。

{
 "updated": "2020/10/21 19:30",
 "total_count": 5,
 "data": {
   "1": {
     "developed_date": "2020-10-15",
     "count": 48
   },
   "2": {
     "developed_date": "2020-10-16",
     "count": 29
   },
   "3": {
     "developed_date": "2020-10-17",
     "count": 27
   },
   "4": {
     "developed_date": "2020-10-18",
     "count": 14
   },
   "5": {
     "developed_date": "2020-10-19",
     "count": 3
    }
  }
}

上のようなデータtest.jsonがあるときに、developed_date と count とを持つデータフレームを作りたくなる。

fromJSON("test.json") %>% .$data %>% as_tibble()

としても、リスト構造が残ったフィールドができてしまう。

そんなとき、

fromJSON("test.json") %>% .$data %>% dplyr::bind_rows()

あるいは、

jsonlite::read_json("test.json")$data %>% dplyr::bind_rows() %>% dplyr::rename(dd = developed_date, cnt = count)

でデータフレームができてしまう。

  • r-wakalangでheavywatalさんに教わった
> fromJSON("test.json")$data %>% dplyr::bind_rows()

# A tibble: 5 x 2

 developed_date count
 <chr>          <int>
1 2020-10-15        48
2 2020-10-16        29
3 2020-10-17        27
4 2020-10-18        14
5 2020-10-19         3

Last updated 2020-10-22 | auditR (c) N.Nawata