[1] 40
オンデマンド
他の人(将来の自分を含めて)があなたの解析を
再度行って、同じ結果を得ることができること
データサイエンスにおいて、とても重要。再現性がなければ、「サイエンス」にならない!
![]()
https://cloud.r-project.org/から自分のOSに合ったファイルをダウンロードして、インストール
https://posit.co/download/rstudio-desktop/から自分のOSに合ったファイルをダウンロードして、インストール
ご連絡下さい(joelnitta@chiba-u.jp)
おめでとうございます!Rプログラミングができました!
これだけでは何も返ってこない。
変数の内容を確認するには、コンソールにその変数の名前を打てば良い:
何かの値(インプット)を受けて、処理して、計算結果(アウトプット)を返すもの
関数の書き方:
例えば
関数の使い方を確認したい時は?関数名と打って、ヘルプファイルを参照すれば良い
Rパッケージのインストールを行うには、install.packages()を使う:
一回インストールしたら、次回からはしなくて良いので、これはコードとして保存しない
library()関数でロードする:
tidyverseはデータサイエンス用パッケージの集まりのパッケージ
ggplot2(可視化)dplyr(データの整理)stringr(文字データを扱う)これからよく使うので、インストールしましょう。一気に出来るから、楽。
install.packages()とlibrary()の違いinstall.packages()は一回だけで良い(パソコンにパッケージをダウンロードする)
library()はRを使う毎にしないといけない(パッケージを今回のRのセッションで使えるようにする)
スクリプトとデータを整理する必要がある
RStudioの「Project」機能によって、スクリプトとデータ(など)の整理ができる
File ➡︎ New Project ➡︎ New Directory ➡︎ New Project をクリック
green-roofにしましょう)プロジェクト名の入力が終わると、RStudioが再度立ち上がる
ファイルパネル(右下)をよく見てください。今はRがどこに「います」か?
dataというフォルダーを作りましょう
新しいプロジェクトには、green-roof.Rprojファイルが入っている
.Rprojファイルの中身はは基本的に触らない
今までは直接Rにコマンドを出していたけど、毎回そうするのは効率が良くない。
作業を繰り返す場合や再現する場合はスクリプト(テキストファイル)が必要。
Rスクリプトの拡張は.Rか.r。
File ➡︎ New File ➡︎ R ScriptをクリックFile ➡︎ Save As...をクリックかファイルのアイコンをクリック。以下のコードをスクリプトに書いて、script.Rとしてデスクトップに保存しましょう(コードの詳細はまた後で学ぶ)。
カーソルが現在位置している行をコンソールに送る:Ctrl(あるいは⌘) + Enter
今開いているスクリプトの行を全てコンソールに送る:Ctrl(あるいは⌘) + Shift+ Enter
スクリプトに間違いが入っている場合、RStudioはそれを教えてくれる(バツマークと赤い線):

以下のコードを書いて、スクリプトをdiamonds.Rとしてgreen-roofプロジェクトに保存して、実行しましょう:
このスクリプトは何をするのでしょうか?
diamonds.Rはdiamonds.pngというグラフを作る。diamonds.pngを消しましょう。diamonds.Rを実行してください(Ctrl(あるいは⌘) + Shift+ Enter)まずは練習としてからグーグドライブからstudents.csvをダウンロードして、data/に置きましょう。
.csvはcomma separated valuesの略です
.xslxとの違いは、.csvはそのままどのテキストエディターでも開ける(エクセルがいらない)read_csv()関数で読み込むまずは、読み込んでから直接に中身を見てみましょう:
# A tibble: 6 × 5
`Student ID` `Full Name` favourite.food mealPlan AGE
<dbl> <chr> <chr> <chr> <chr>
1 1 Sunil Huffmann Strawberry yoghurt Lunch only 4
2 2 Barclay Lynn French fries Lunch only 5
3 3 Jayendra Lyne N/A Breakfast and lunch 7
4 4 Leon Rossini Anchovies Lunch only <NA>
5 5 Chidiegwu Dunkel Pizza Breakfast and lunch five
6 6 Güvenç Attila Ice cream Lunch only 6
でも、これだけではRの環境にそのデータが入っていません
変数(オブジェクト)として保存する必要がある:
変数として保存する時は中身が見えない(オブジェクトに渡された)
中身を見たい時は変数名を直接コンソールに入力すればいい
# A tibble: 6 × 5
`Student ID` `Full Name` favourite.food mealPlan AGE
<dbl> <chr> <chr> <chr> <chr>
1 1 Sunil Huffmann Strawberry yoghurt Lunch only 4
2 2 Barclay Lynn French fries Lunch only 5
3 3 Jayendra Lyne N/A Breakfast and lunch 7
4 4 Leon Rossini Anchovies Lunch only <NA>
5 5 Chidiegwu Dunkel Pizza Breakfast and lunch five
6 6 Güvenç Attila Ice cream Lunch only 6
このような時に使う:データの中身を確認したい、ヘルプファイルを開きたい、など。
つまり、データ解析に必要ではない(関係のない)コマンド。
もう一つのデータの確認の仕方がある:「Environment」パネルでそのオブジェクトをクリック
すると、エクセルのようなレイアウトになる
studentsをコンソール(左下のパネル)でもう一回打ってみてください
データの上に<dbl>とか<chr>とかと出ているけど、これは何でしょうか?
dbl: 数字(“double”の略。なぜ”double”でしょう・・)chr: 文字(“character”の略。この方がしっくり来るね)このほかに、
lgl:ロジカル(TRUEかFALSEか、そのどっちか)int:整数(“integer”の略)がある
ベクトル(vector)とは、同じ型を持つ一連のデータの集まり(一次元の配列)
ベクトルに含まれている一つ一つのデータを要素(element)という
例えば、letters
"a"がlettersの1個目の要素c()
typeof()関数でベクトルの型を確認することができる先も言いましたが、あるベクトルの要素は全て同じ型を持たないといけない
なので、入力が複数の型を含む場合、Rはそれを同じ型に合わせる
データフレームの列は、本当はベクトルになっている
なので、データフレームの列はそれぞれ、型が決まっている
スクリプト(.Rファイル)に解析に必要なコードを書く
スクリプトとデータがあれば、解析結果を再現できる
プロジェクトを使うと、解析の管理が大幅にやりやすくなる
データフレームはベクトルからなっている
ベクトルは一つの型しか持てない
グーグルドライブから「2025とりまとめ」データを屋上はらっぱ植生調査 - 2025 とりまとめ.csvとしてダウンロードして、data/に置いて下さい(生データ)
「生データ」とは収集された元のデータであり、読み込み専用で扱う。
コード以外のツールで編集すると、変更履歴が残らず、データの再現性や透明性が損なわれる。
students.csvはtidyなデータ:# A tibble: 6 × 5
`Student ID` `Full Name` favourite.food mealPlan AGE
<dbl> <chr> <chr> <chr> <chr>
1 1 Sunil Huffmann Strawberry yoghurt Lunch only 4
2 2 Barclay Lynn French fries Lunch only 5
3 3 Jayendra Lyne N/A Breakfast and lunch 7
4 4 Leon Rossini Anchovies Lunch only <NA>
5 5 Chidiegwu Dunkel Pizza Breakfast and lunch five
6 6 Güvenç Attila Ice cream Lunch only 6
必要なパッケージをロードする
このコードをroof-survey.Rとして保存
# A tibble: 76 × 6
A区画 `大野、中野` ...3 ...4 ...5 ...6
<chr> <chr> <chr> <chr> <chr> <chr>
1 2025/4/17 <NA> <NA> <NA> <NA> <NA>
2 区画(A-1など) 和名 ラテン名 被度 群度 個体数
3 <NA> <NA> <NA> <NA> <NA> <NA>
4 A-1 ノビル <NA> 1 1 1
5 A-1 ヘラオオバコ <NA> 1 2 4
6 A-1 マルバヤハズソウ <NA> 2 4 100
7 <NA> <NA> <NA> <NA> <NA> <NA>
8 A-2 ノビル <NA> 2 2 2
9 A-2 マルバヤハズソウ <NA> 2 3 100
10 A-2 ノゲシ <NA> 1 1 1
# ℹ 66 more rows
うまく行かない(全然tidyじゃない)
生データをtidy(解析可能)なデータに整える必要があるけど、今は説明する時間がないので、私が用意したスクリプト(.Rファイル)を使う。
data_cleaning_2025.Rをダウンロードして、このプロジェクトに保存してください。
data_cleaning_2025.Rを開いて、実行すると、data/okujo_2025.csvが出力される
data/okujo_2025.csvを読み込む
これでデータの解析(可視化)ができる状態になった。
Rには備え付けの関数、plot()があるが、今回はtidyverseのggplot2パッケージを使う
gg = “Grammar of Graphics”(画像の文法)
chatGPT(相当なトレーニングデータがあるはず)
図の構造にはいくつか決まった要素がある
geometry: 図はどのような形にする?
aesthetics: データをどのように図に表す?
Pie chart

Bar graph


ggplot()でグラフの基盤を作るmapping()で座標を指定するmapping()で座標を指定するgeom_()でデータの形を指定するgeom_()でデータの形を指定するname_enを横軸、coverを縦軸にして、箱ひげ図を作成して下さい
colorで色を潰すcolorで色を潰す
英語で「overplotting」という
解決策:グループ内で適当にばらける
geom_jitter()jitter = 「揺らぐ」、「ばらつく」geom_jitter()で解決geom_jitter()で解決data =とmapping =を書かなくて良い
labs()でラベルをきれいにするlabs()でラベルをきれいにするscale_で色を調整するscale_で色を調整するプロットは文字と位置で分かるから、色の説明はいらない
theme()でグラフ全体の見た目(スタイル)を調整する
theme()で凡例を隠すtheme()で凡例を隠すbase_familyで文字化けを防ぐggsave()でグラフを保存する