- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2019-02-26T06:43:59+00:00","","")
#author("2019-02-27T08:22:52+00:00","","")
[[R言語入門]] >
* R言語でグラフ描画 [#t7fcddf2]
* Rでグラフ描画 [#t7fcddf2]
#setlinebreak(on);
#contents
-- 関連
--- [[R言語入門]]
** グラフ描画の基本 [#yced50a2]
#html(<div style="padding-left: 10px;">)
グラフ描画は基本的に以下の手順で行う。
+ 描画デバイスを開く
+ グラフデータをプロットする
+ グラフの種類等の詳細を設定する
+ 描画デバイスを閉じる
※ R Studio の場合は描画デバイスのオープン、クローズは無くてもOK。(プロット領域に表示される)
#myterm2(){{
x <- c(1, 2, 3, 4, 5)
y <- c(2, 3, 4, 8, 10)
dev.new() # 1. 描画デバイスを開く
plot(x, y) # 2. データのプロット
lines(x, y) # 3. 折れ線グラフ
dev.off() # 4. 描画デバイスを閉じる
}}
#html(</div>)
** ファイルへの出力 [#f10227f7]
#html(<div style="padding-left: 10px;">)
描画デバイスのOPENを dev.new() でなく、以下の関数で行う事でグラフをファイルに出力する事ができる。
| 関数名 | 説明 | 使用例 |
| pdf | PDF ファイルとして出力 | |
| png | PNG 画像として出力 | png("plot1.png", width=480, height=480) |
| jpeg | JPG 画像として出力 | |
| bmp | BMP 画像として出力 | |
| postscript | PS 画像として出力 | |
| pictex | TeX ファイルとして出力 | |
#html(</div>)
// ** グラフの種類などの設定 [#e2a6e2ec]
// http://cse.naro.affrc.go.jp/takezawa/r-tips/r/51.html
** グラフの装飾 [#r8069a50]
#html(<div style="padding-left: 10px;">)
*** 枠を描く [#k088f1be]
#html(<div style="padding-left: 10px;">)
#TODO
#html(</div>)
** png画像として出力する [#kf3e78dc]
*** タイトルの設定 [#l397b63a]
#html(<div style="padding-left: 10px;">)
#TODO
#html(</div>)
*** 座標軸の描画 [#c46723f5]
#html(<div style="padding-left: 10px;">)
#TODO
#html(</div>)
*** 文字の描画 [#s2165d86]
#html(<div style="padding-left: 10px;">)
#TODO
#html(</div>)
*** 凡例の描画 [#ofa4b9d3]
#html(<div style="padding-left: 10px;">)
#TODO
#html(</div>)
*** 矢印の描画 [#g2f738a1]
#html(<div style="padding-left: 10px;">)
#TODO
#html(</div>)
#html(</div>)
** グラフの描画例 [#m411ecaa]
#html(<div style="padding-left: 10px;">)
*** 点グラフ(線形補間) [#o60d4644]
#html(<div style="padding-left: 10px;">)
#myterm2(){{
x <- c(1, 2, 3, 4, 5)
y <- c(2, 3, 4, 8, 10)
#dev.new() # 描画デバイスを開く
png("plot1.png", width=480, height=480) # pngファイルを描画デバイスとして開く
plot(x, y) # グラフを描く
#points(approx(x, y)) # 線形補間
lines(x, y) # 折れ線グラフ
dev.off() # 描画デバイスを閉じる
dev.new()
plot(x, y)
points(approx(x, y)) # 線形補間
dev.off()
}}
#html(</div>)
*** 折れ線グラフ [#t92bf867]
#html(<div style="padding-left: 10px;">)
#myterm2(){{
x <- c(1, 2, 3, 4, 5)
y <- c(2, 3, 4, 8, 10)
dev.new()
plot(x, y)
lines(x, y) # 線グラフ描画
dev.off()
}}
#html(</div>)
*** 線形回帰(回帰直線) [#fe092193]
#html(<div style="padding-left: 10px;">)
#myterm2(){{
x <- c(1, 2, 3, 4, 5)
y <- c(2, 3, 4, 8, 10)
dev.new()
plot(x, y)
result <- lm(y~x) # 線型モデルによる回帰分析を行い回帰式を得る
fitted_y = fitted(result) # 回帰式により予測値を求める
lines(x, fitted_y) # 線グラフの描画
# abline(result) # abline でも同じく回帰直線が描ける(直線回帰の結果を引数に指定する)
dev.off()
}}
#html(</div>)
*** ロジスティック回帰 [#o658737b]
#html(<div style="padding-left: 10px;">)
#TODO
#html(</div>)
// *** 分散分析
// #html(<div style="padding-left: 10px;">)
// #TODO
// #html(</div>)
*** XXXXXXXXXX [#u305d565]
#html(<div style="padding-left: 10px;">)
#TODO
#html(</div>)
*** XXXXXXXXXX [#a28de7ec]
#html(<div style="padding-left: 10px;">)
#TODO
#html(</div>)
#html(</div>)