+
していくggplot()
このデータでよろしくgeom_*()
点や線をよろしくtheme_*()
軸とか背景の見た目をよろしくggplot(data = diamonds) # diamondsデータでキャンバス準備
# geom_histogram(aes(x = carat)) + # x軸caratのヒストグラムで
# theme_classic(base_size = 20) # クラシックなテーマで
+
していくggplot()
このデータでよろしくgeom_*()
点や線をよろしくtheme_*()
軸とか背景の見た目をよろしくggplot(data = diamonds) + # diamondsデータでキャンバス準備
geom_histogram(aes(x = carat)) # x軸caratのヒストグラムで
# theme_classic(base_size = 20) # クラシックなテーマで
+
していくggplot()
このデータでよろしくgeom_*()
点や線をよろしくtheme_*()
軸とか背景の見た目をよろしくggplot(data = diamonds) + # diamondsデータでキャンバス準備
geom_histogram(aes(x = carat)) + # x軸caratのヒストグラムで
theme_classic(base_size = 20) # クラシックなテーマで
aes()
の中で列名を指定する。
ggplot(diamonds, aes(x = carat, y = price)) +
geom_point(mapping = aes(color = color, size = clarity))
aes()
の外で値を指定する。
ggplot(diamonds, aes(x = carat, y = price)) +
geom_point(color = "darkorange", size = 6, alpha = 0.4)
ggplotの真骨頂! これをR標準グラフィックスでやるのは結構たいへん。
ggplot(diamonds, aes(x = carat, y = price)) +
geom_point(mapping = aes(color = color, size = clarity)) +
facet_wrap(~ clarity, ncol = 4L)
ggplotの真骨頂! これをR標準グラフィックスでやるのは結構たいへん。
ggplot(diamonds, aes(x = carat, y = price)) +
geom_point(mapping = aes(color = color, size = clarity)) +
facet_grid(cut ~ clarity)
VADeath
, anscombe
, economics
「地域・年齢別人口」CSVをダウンロードして、読み込む
infile = "131105_population_20170401.csv"
raw_df = readr::read_csv(infile)
names(raw_df)
[1] "都道府県コード又は市区町村コード" "地域コード" "都道府県名"
[4] "市区町村名" "調査年月日" "地域名"
[7] "総人口" "男性" "女性"
[10] "0-4歳の男性" "0-4歳の女性" "5-9歳の男性"
[13] "5-9歳の女性" "10-14歳の男性" "10-14歳の女性"
[16] "15-19歳の男性" "15-19歳の女性" "20-24歳の男性"
[19] "20-24歳の女性" "25-29歳の男性" "25-29歳の女性"
[22] "30-34歳の男性" "30-34歳の女性" "35-39歳の男性"
[25] "35-39歳の女性" "40-44歳の男性" "40-44歳の女性"
[28] "45-49歳の男性" "45-49歳の女性" "50-54歳の男性"
[31] "50-54歳の女性" "55-59歳の男性" "55-59歳の女性"
[34] "60-64歳の男性" "60-64歳の女性" "65-69歳の男性"
[37] "65-69歳の女性" "70-74歳の男性" "70-74歳の女性"
[40] "75-79歳の男性" "75-79歳の女性" "80-84歳の男性"
[43] "80-84歳の女性" "85歳の男性以上" "85歳の女性以上"
[46] "不詳者の男性" "不詳者の女性" "世帯数"
[49] "備考"
ggplotしたくなる形に変形
tidy_df = raw_df %>%
select("地域名", matches("の.+性$")) %>%
rename(place = 地域名) %>%
pivot_longer(-place, names_to = "category") %>%
separate(category, c("age", "sex"), sep = "の") %>%
filter(str_detect(age, "\\d")) %>%
mutate(age = parse_number(age)) %>%
mutate(place = str_replace(place, "\\S丁目", "")) %>%
print()
place age sex value
<chr> <dbl> <chr> <dbl>
1 駒場 0 男性 65
2 駒場 0 女性 63
3 駒場 5 男性 85
--
2990 東が丘 75 女性 39
2991 東が丘 80 男性 22
2992 東が丘 80 女性 41
作図してみる
tidy_df %>%
ggplot(aes(age, value)) +
geom_col(aes(fill = sex)) +
facet_wrap(~ place, nrow = 3L)
RユーザのためのRStudio[実践]入門 — 松村優哉ほか
前処理大全 — 本橋智光