#8 プレゼンテーションとループ処理
June 3, 2026
今まで作っていたものを別のグラフに置き換える際に対して大規模な変更をせずに、そのチャンクだけ多少変えるだけで良いという点に改めてRの使いやすさを実感しました。すぐに地図のグラフに置き換えれたので本当に便利です。(寺西さん)
Rを用いたデータ分析からレポート作成までの一連の流れを学び、データを意味のある情報へと変換する面白さを実感した。今後はここで得たスキルをさらに磨き、身近な問題の解決や説得力のある提案など、社会における実践的なデータ活用に挑戦していきたい。(山本さん)
グラフ作成などをするときに、使えるグラフがいろいろな種類があるため便利だと感じたため。いろいろな種類がある分、いまだにRを使うのは難しいと感じている。(吉田さん)
map()関数split() や nest() を利用vars()関数nest()関数split()関数walk()関数map()と同様に繰り返し処理を行うための関数vars()# 可視化したい変数をまとめて指定(この3つを順番に処理する)
vars <- c("body_mass", "bill_len", "flipper_len")
# map():同じ処理を変数ごとに繰り返す(マップ=マッピング=写しとる)
map(vars, \(v) { #map()関数を使って同一処理を指示
penguins |> # タイトルを除くコードは先と同じ
drop_na() |>
group_by(species, sex) |>
summarise(avg = mean(.data[[v]])) |> # 指定した変数 v の平均を計算。data[[v]]:文字列で指定した列名を使う書き方(ここが少し特殊)
ggplot(aes(x = species, y = avg)) +
geom_col() +
facet_wrap(~ sex) +
labs(title = paste("Average of", v)) # varsからタイトルを持ってくる
})[[1]]

[[2]]

[[3]]

nest()split()df_long_cat_d_all |>
filter(category_major == "スポーツ") |>
split(~ category_middle) |> # データをスポーツ種目ごとに分ける
walk( # 分けたデータを1つずつ取り出して処理する
\(df) {
p <- # オブジェクトpに代入
df |>
filter(性別 == "男") |>
drop_na() |>
mutate(value = as.numeric(value)) |>
group_by(地域ブロック) |>
summarise(
value_sum = sum(value),
.groups = "drop"
) |>
mutate(
地域ブロック = fct_rev(地域ブロック)
) |>
ggplot(
aes(
x = 地域ブロック,
y = value_sum
)
) +
geom_col() +
labs(
title = unique(df$category_middle),
x = NULL,
y = NULL
) +
coord_flip()
print(p) #オブジェクトpをプロット
}
)



















