動画
https://web.microsoftstream.com/video/1cbca9e0-a682-4c1f-95da-c059da6688b0
資料
http://goo.gl/fxv87m
某研究論文に掲載されたグラフに対する議論: http://letsseq.hatenablog.com/entry/2016/09/07/113759
Natureに掲載された元論文: https://www.nature.com/articles/nature01705
以下引用
以下、問題の論文より。 (赤字や赤い線・矢印はブログ主によって付け加えました)
Fig2f エラーバーが斜めになっている. 横棒のみならず縦棒も傾いている。(赤線が水平)
![]()
Fig2f
Fig2e 丸いプロットの後ろに何か居る。
エラーバーの横棒も浮いている。
![]()
Fig2e
Fig3a プロットの位置と曲線がズレまくり。
![]()
Fig3a
肉眼だけでもグラフやチャートがエクセルなどのソフトウエアを使って、正しく作成されたものではないと判断できる。
グラフを作成してpptで描画を修正などで捏造を疑われる時代
再現性を担保するためにはデータ→結果,グラフまでの過程を記録,再現可能なものにしないといけない.
グラフの大きな2つの役割
* データの状況を大雑把に把握すること
* 結果をわかりやすく説明すること
ファイル名は"”で囲むのを忘れない
getwd()
## [1] "C:/Users/ryohe/R lecture by Shiraishi"
Dataset_1<-read.csv("Dataset_1.csv") #読みむ
head(Dataset_1)
## a b
## 1 43.408414 3.0366870
## 2 5.404081 1.8911554
## 3 14.719750 3.2940166
## 4 18.228744 -0.3423289
## 5 7.307175 -1.6425974
## 6 -15.822494 -1.3053309
hist(Dataset_1$a)
hist(Dataset_1$b)
boxplot(Dataset_1$a,Dataset_1$b)
しかしこれらのグラフには軸名や凡例がたらない.
凡例や軸を指定する.
関数 | 指定するももの |
---|---|
xlim | x軸の上限下限 |
ylim | y軸の上限下限 |
xlab | X軸のラベル名 |
main | メインのグラフ名 |
hist(Dataset_1$a,
xlim = c(-50,50), ylim = c(0,200),
xlab = "Value A", main="Histgram")
図を重ね合わせるには,関数 par()
par(new = T)とするとグラフが追加される
引数 xlim と ylimをあわせるなどのちょっとした注意が要る.
参考
http://cse.naro.affrc.go.jp/takezawa/r-tips/r/49.html
par(new = F)
hist(Dataset_1$a,
xlim = c(-50,50), ylim = c(0,200),
xlab = "Value A", main="Histgram")
par(new = T)
hist(Dataset_1$b,
xlim = c(-50,50), ylim = c(0,200),
xlab = "Value B", main="Histgram")
Rの描画関数は様々なオプションが指定できる.
R-tipsを見てみてやるのが良いでしょう.
参照: とりあえずplot()
http://cse.naro.affrc.go.jp/takezawa/r-tips/r/48.html
plotのExportで出力できる.
作成者はHadley Wickmanでモダンなグラフ描画パッケージ
グラフに関わる要素
1 Data: 基となるデータ
2 Mapping: 数値,軸,色,太さの対応
3 Graph object: それをどんなグラフで書くかの定義
の3つがあればグラフがかける
ggplotを初めて使う場合はggplotをインストールしておくこと
install.packages(“ggplot2”)
ではirisのデータをつかって練習してみる irisというデータ irisの中のSpeciesはX軸,Sepal.wWidthはy軸,Speciesで色分けする
library("ggplot2")
## Warning: package 'ggplot2' was built under R version 3.5.3
g<-ggplot(data= iris,
aes(x=Species, y=Sepal.Width,
color = Species))
g<-g+geom_boxplot()
g
“mpg.csv”を用いてグラフを作成し ggplotよう
mpg<-read.csv("mpg.csv")
head(mpg)
## X manufacturer model displ year cyl trans drv cty hwy fl class
## 1 1 audi a4 1.8 1999 4 auto(l5) f 18 29 p compact
## 2 2 audi a4 1.8 1999 4 manual(m5) f 21 29 p compact
## 3 3 audi a4 2.0 2008 4 manual(m6) f 20 31 p compact
## 4 4 audi a4 2.0 2008 4 auto(av) f 21 30 p compact
## 5 5 audi a4 2.8 1999 6 auto(l5) f 16 26 p compact
## 6 6 audi a4 2.8 1999 6 manual(m5) f 18 26 p compact
g2 <- ggplot(data = mpg,
aes(x = as.factor(cyl)))+
geom_boxplot(aes(y=cty), color="red")+
geom_point(aes(y=cty),color="blue")+
theme_bw() +
ggplot2::xlab("CYLです")
g2