Rを久しぶりに触った
Rは3年前に”Rで学ぶ統計入門”で少しだけ触ったが、そのあと久しく使っていなかった。 参加することになったゼミでPythonとRの経験を聞かれたので、実験レポート用の図をRで描いて慣れてみようと思った。
今回は、同一のフィールドに2系統の散布図と回帰直線、および直線をggplot2を用いてプロットしてみた。
環境構築
最近はVS Codeを頻繁に使用していたが、R用のIDEであるRStudioがパッケージ管理などが楽とあったので素直にインストールして使うことにした。
プロジェクトという単位で保存するらしい(そのプロジェクトのディレクトリが作業ディレクトリになる。データのインポートなどの際に大事になる)
プログラム
グラフ描画用のパッケージggplot2を使った。ggplotは+
で様々な要素をつなぐことができ、とても簡単に描写できた(Pythonと比べて。どちらもそれほど使ったことはないが)。データはCSVでインポートさせた(一番左の列にインデックス。2系統あったが、typeという列を用意してその値で区別することにした。)
プログラムはこんな感じ
data <- read.csv("data.csv", header = TRUE)
data
install.packages("ggplot2")
install.packages("ggpmisc")
library(ggplot2)
library(ggpmisc)
p <- ggplot(data = data, mapping = aes(x = k, y = wavelength, color = type)) +
geom_point() +
geom_smooth(method = "lm", formula = y ~ x) +
stat_poly_eq(formula = y ~ x, aes(label = paste(stat(eq.label))), parse = TRUE) +
geom_abline(intercept = 452, slope = 129) +
theme_bw(base_size = 16)
p
ggsave("wavelength_vs_k.png")
ggpmisc
は近似直線の式をグラフ中に表示させるために使った。
最初のggplot
でオブジェクト作成とデータ入力とグループ分け、次geom_point
で散布図のプロット、その次geom_smooth
が線形近似、stat_poly_eq
が直線の式の添付、geom_abline
が切片と傾きでの直線の描画、最後theme_bw
がグラフ全体のスタイルを決めている.
近似直線は誤差も表示されていて、思ったより簡単に立派なものができた
参考資料
(むしろこれがメイン)
- ggplotの概要
- データの読み込み(Rの基本)
- 近似直線の引き方
- 近似直線の式をグラフ内に表示させる
以上
Comments
Reply to this post (mastodon) to leave a comment.
Reply