- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
! データを行に加える
同じ構造のデータフレームが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