第1回 RとRStudioの基本

研究データ解析の入口

このゼミで目指すこと

3年ゼミの目的は,Rの文法をたくさん暗記することではない。

研究データを受け取ったときに,

読む → 確認する → 整える → 可視化する → 簡単に解析する → 結果を残す

という最小限の流れを,自分で進められるようになることを目標とする。

このゼミで主に扱うのは,

  • 時間データ:GNSS時系列など
  • 空間データ:震源,観測点,変位ベクトルなど
  • 表データ:CSV形式の観測値・解析結果

である。

最終的には,

「このデータを渡された。まず何を確認して,どう図にすればよいか」

を自分で考えられることを目指す。


なぜ最初にRなのか

Pythonも重要であり,このゼミでも後で使う。

最初にRを使うのは,RがPythonより優れているからではない。

Rは,

  • CSVなどの表データを読む
  • データを加工する
  • 統計解析する
  • 時系列を扱う
  • 図を作る

ところまでを,比較的少ないコードで進めやすい。

そのため,このゼミでは

データ解析の考え方を最短距離で身につけるための母艦

としてRを使う。

必要になれば,後半でPython,GMT,OkadaFieldなども使う。


AI時代に何を学ぶのか

現在はAIがRやPythonのコードをかなり書ける。

そのため,

コマンドを全部暗記する

こと自体を最終目標にはしない。

一方でAIがあっても,

  • この列は何を意味するのか
  • 欠損値をどう扱うべきか
  • どの図を描けば特徴が見えるか
  • 出てきた結果は物理的に妥当か
  • AIが作ったコードは何をしているか

は,自分で判断しなければならない。

このゼミでは,

コードを書く力 + コードと結果を判断する力

の両方を身につける。


第0回とのつながり

プレゼミではLinuxで,

pwd
ls
cd

を使った。

意味は,

pwd   今どこにいるか
ls    そこに何があるか
cd    作業場所を変える

だった。

Rでも「今どこで作業しているか」は重要である。

Rでは,

getwd()
list.files()
setwd(...)

が,それぞれ似た役割を持つ。


今日のフォルダ

第1回では,次の形のフォルダを使う。

seminar2026/
├─ 01.R
├─ data/
│  └─ earthquake_catalog.csv
└─ outputs/

重要なのは,

01.Rだけを別の場所へ移動しないこと

である。

01.Rdata/outputs/ は,同じ seminar2026 フォルダの中に置く。


1. RとRStudio

R

計算をする本体。

RStudio

Rを使うための作業環境(IDE)。

主に見る場所は,

  • Source:R Scriptを書く
  • Console:命令を実行し,結果を見る
  • Environment:現在の変数を見る
  • Files / Plots / Help:ファイル・図・Help

である。


2. 最初に確認するRStudio設定

文字コード

UTF-8

にする。

WindowsとLinuxで同じスクリプトを使いやすくするためである。

Workspace

  • Restore .RData into workspace at startup:OFF
  • Save workspace to .RData on exit:Never

とする。

研究では,

前回の途中状態に頼らず,コードを最初から実行すれば同じ解析状態を作れる

ことを重視する。


3. packageとは何か

R本体には基本的な機能が入っている。

追加機能は package として導入する。

例えば,

  • this.path:実行しているR Scriptの場所を調べる
  • ggplot2:可視化
  • dplyr:表データの加工
  • lubridate:日時
  • sf:空間データ

などがある。


4. install と library

packageを使うには,まずPCへ入れる。

今日必要な this.path をインストールする。

Consoleに入力:

install.packages("this.path")

通常,インストールは最初の1回だけでよい。

インストール済みのpackageを,今回のRで使えるようにするのが,

library(this.path)

である。

つまり,

install.packages()    PCへ入れる
library()             今回のRで使えるようにする

である。


5. packageを確認する

packageVersion("this.path")

バージョン番号が表示されればインストールされている。

Helpを見る場合は,

?mean

のように書ける。

全部覚える必要はない。

分からないものを調べられること

の方が重要である。


6. 今日から使う2行

学生は配布された 01.R をRStudioで開く。

最初に,

library(this.path)
setwd(this.dir())

が書いてある。

this.dir()

今開いているR Scriptが置かれているフォルダを調べる。

setwd()

その場所をRの現在の作業場所にする。

したがって,

library(this.path)
setwd(this.dir())

は,

このR Scriptが置いてあるフォルダを,作業の基準にする

という意味である。


7. 本当にその場所になったか確認する

getwd()

Linuxの pwd とほぼ同じ役割。

さらに,

list.files()

を実行する。

Linuxの ls と似ている。

ここで,

01.R
data
outputs

が見えればよい。


8. なぜ作業場所を決めるのか

この状態なら,

read.csv("data/earthquake_catalog.csv")

と書ける。

WindowsでもLinuxでも,

C:/Users/...
/home/...

のようなPC固有の場所を書かなくてよい。

つまり,

この授業フォルダの中での位置関係だけを使う

という考え方である。


9. ConsoleとScript

Consoleに,

1 + 1

と入力すると,その場で実行される。

しかし研究では,

何を実行したか残す

必要がある。

そのため .R Scriptにコードを書く。

実行したい行にカーソルを置いて,

Ctrl + Enter

で実行する。

第1回では,全部を一気に実行せず,1行ずつ結果を確認する。


10. Rを少し動かす

a <- 10
b <- 3

a + b

複数の値:

x <- c(1, 2, 3, 4, 5)
y <- c(2.1, 3.5, 3.1, 6.2, 7.0)

mean(y)

11. 最初の図

plot(x, y)

研究データでは,

数値だけを眺めず,まず図にしてみる

ことが重要である。


12. CSVを読む

eq <- read.csv("data/earthquake_catalog.csv")

data/ の中にある earthquake_catalog.csv を読む。

読み込んだら,すぐ本格的な解析を始めず,まず確認する。

head(eq)
names(eq)
dim(eq)
summary(eq)

13. 何を確認しているのか

今回のデータでは,

1行 = 1地震

である。

主な列は,

time
longitude
latitude
depth_km
magnitude

である。

確認する:

  • 地震はいくつある?
  • 最大マグニチュードはいくつ?
  • NA はある?
  • longitude / latitude はどの程度の範囲?

14. 空間分布を最小限可視化する

plot(
  eq$longitude,
  eq$latitude,
  pch = 16,
  cex = 0.6,
  xlab = "Longitude [deg]",
  ylab = "Latitude [deg]"
)

これは緯度・経度の散布図である。

まだ本格的な地図ではない。

海岸線,投影法,地形などは後のGMT回で扱う。


15. 条件をつけてみる

M3以上だけを取り出す。

eq_m3 <- subset(
  eq,
  magnitude >= 3
)

nrow(eq_m3)

そして図にする。

plot(
  eq_m3$longitude,
  eq_m3$latitude,
  pch = 16,
  xlab = "Longitude [deg]",
  ylab = "Latitude [deg]",
  main = "M >= 3"
)

16. 演習

手元の 01.R の演習部分を行う。

  1. M2.5以上の地震はいくつあるか
  2. 深さ20 km以浅の地震について深さのヒストグラムを描く
  3. M3以上かつ深さ30 km以浅の空間分布を描く

17. 結果を保存する

解析結果は outputs/ に保存する。

今日は,

outputs/01_m3_map.png

を作る。

元データは data/, 自分で作ったものは outputs/

この区別を基本とする。


今日のまとめ

今日の重要事項は5つ。

  1. Rは計算本体,RStudioは作業環境
  2. packageは install.packages() で入れ,library() で使う
  3. library(this.path); setwd(this.dir()) でR Scriptの場所を作業基準にする
  4. Consoleだけでなく .R にコードを残す
  5. データを読んだら,まず中身を確認し,可視化する

次回は,

欲しい行を選ぶ / 新しい列を作る / グループごとに要約する

へ進む。