RとQuartoではじめるデータサイエンス

#2 Rの基本的な操作方法(1)

苅谷千尋

金沢大学

April 15, 2026

0. 本日の目標

本日の目標

  1. データセットの基本的な構造(行・列・変数)を理解する
  2. データの型(数値・文字・文字など)の違いをなんとなく理解する
  3. データを抽出・選択する基本的な操作を行ってみる
  4. データを簡単に計算し、その結果を図にしてみる(詳しい説明、理解は次週以降
  5. 生成AIを補助ツールとして活用する可能性と注意点をなんとなく理解する

Ⅰ. データセットの構造と型

データセットとは何か

⑴ 試行錯誤の大切さ

試行錯誤を始めるときに、2つの点を心に留めてください。1つ目は、何かを試すことには常に価値があるということです。たとえその結果何が起こるか完全にはわかっていなかったとしてもです。コンソールを怖がってはいけません。コードを使ってグラフを作るすばらしい点は、いったん壊したら元に戻せないような操作が含まれていないことです。もし何かがうまくいかなかったら、何が起きているかを特定し、それを修正し、そして作図コードをもう一度実行すればよいのです。

2つ目の点は、ggplotを使った作業の主な流れはいつも同じだということです。それは、テーブル型のデータから始め、位置・色・形といったグラフに表示される審美的要素に当たる変数をマップし、そしてグラフを描画するために1つか2つのgeom_関数を選ぶ、という流れです。コードの上ではこの流れは、まずデータとマッピングに関する基礎的な情報を持ったオブジェクトを作り、そこに必要な情報を重ねたり加えたりする というプロセスで実装されます。この作図法を一度身につけてしまえば、特に審美的要素のマッピングの指定とその継承方法が重要ですが、図を作るのが簡単になります(ヒーリー,キーラン (2021), 124ページ)。

0. データを切り出す操作

データを切り出す操作

  • slice()関数
  • filter()関数
  • filter_out()関数
  • select()関数

列の計算(縦) - sum():全部足す - mean():平均を出す

行の計算(横) - rowSums():横に足す

[1] 130 170

1

   species   n   percent
    Adelie 152 0.4418605
 Chinstrap  68 0.1976744
    Gentoo 124 0.3604651

2

species female male NA_
Adelie 73 73 6
Chinstrap 34 34 0
Gentoo 58 61 5

4

•   「一番大きいペンギンは?」がすぐできる

penguins |> arrange(desc(body_mass_g)) |> slice(1)

penguins |> summarise(avg_weight = mean(body_mass_g, na.rm = TRUE))

Ⅷ. 次回の授業と宿題

次回の授業と宿題

次回:4月30日(木)

  • Rの基本的な操作方法(2)

宿題

  • 授業の感想:
    • 回答先:Google Forms
    • 締め切り:4月24日(金)23時59分 ### 演習:
  • 内容:授業内で課した演習①〜④
  • ファイル:演習の該当箇所を抜き出すのではなく、qmdファイルをそのまま提出
    • ファイル名:氏名をかな表記にして下さい
    • 例:かりやちひろ.qmd
  • 回答先:dropbox
  • 締め切り:4月30日(月)23時59分

Ⅷ. 棒グラフ

二変数:カテゴリ×カテゴリ

棒グラフ

  • 美的マッピング(aes = aesthetic mapping)で fill を指定
    • 内訳ごとに色分けされて積み上げ表示される
    • 表示方法は geom_bar の position 引数で変更できる
    • stack(何も指定しなければstack); dodge; fill
penguins |> 
  drop_na(species, island) |> 
  ggplot(aes(x = island, fill = species)) +
  geom_bar() # position = stackがデフォルト

二変数:カテゴリ×カテゴリ

並列棒グラフ

  • geom_bar(position = “dodge”)
    • dodge(避ける、かわすの意):重なりを避けて横に配置
penguins |> 
  drop_na(species, island) |> 
  ggplot(aes(x = island, fill = species)) +
  geom_bar(position = "dodge")

二変数:カテゴリ×カテゴリ

積み上げ棒グラフ

  • geom_bar(position = “fill”)
penguins |> 
  drop_na(species, island) |> 
  ggplot(aes(x = island, fill = species)) +
  geom_bar(position = "fill")

3

33

引用文献

引用文献

ヒーリー,キーラン, 2021. データ分析のためのデータ可視化入門, 瓜生真也・江口哲史・三村喬生 訳. 講談社.