Vivado Design Suite ユーザー ガイド: リリース ノート ......Vivado Design Suite ユーザー ガイド リリース ノート、インストール、および ライセンス
Rのインストール編 - Takahashi Lab · Rのインストールについて④ ④0-CloudのR...
Transcript of Rのインストール編 - Takahashi Lab · Rのインストールについて④ ④0-CloudのR...
1
インフォマティクス編(第2回目配付資料)
2014/05/28
園芸学研究科 応用生命化学領域
髙橋広夫
2014年度 分子生体機能学実験
2
講義の資料置き場
Internet Explorerを起動しGoogleを使って「高橋広夫」で検索
2ページ目ぐらいにあるかも
Googleか確認(bingではない)
3「講義の資料置き場」をクリック
講義の資料置き場
4
講義の資料置き場
分子生体機能学実験をクリック
5
Rのインストール編
6
Rのインストールについて①
① Googleで 「R project」で検索
1番目の「The R Project for Statistical Computing」をクリック
7
Rのインストールについて②
② R Projectのホームページ
「 CRAN 」をクリック8
Rのインストールについて③
③ R Projectのダウンロードベージ
「0-Cloud」をクリック
9
Rのインストールについて④
④ 0-CloudのR Projectのダウンロードベージ
Windows版を選択し、クリック
10
Rのインストールについて⑤
⑤ 0-CloudのR Projectのダウンロードベージ(Windows版)
Rの基本パッケージ(base)を選択し、クリック
11
Rのインストールについて⑥
⑥ 0-CloudのR Projectのダウンロードベージ(Windows版)
Rの基本パッケージ(base)をクリックしてダウンロード
最新版はR 3.1.0
12
Rのインストールについて⑦
⑦デスクトップに保存されたファイルからインストール
デスクトップ上に保存された上記のアイコンをクリック
「実行」 「OK」 「次へ」
「次へ」 「次へ」 「次へ」
Message translationのチェック確認
13
Rのインストールについて⑧
⑧デスクトップに保存されたファイルからインストールの続き
「次へ」 「次へ」 「次へ」
インストール
「完了」「クリック」
Rが起動する
14
Rの基本画面
何か入力するときはここ。
15
統計の基礎(プログラム部分のみ)
16
R言語
中央値
命令
set.seed(1) data <- runif(10, min=0, max=10) windows()plot(data, pch=21, bg=2, col=2, cex=2, ylim=c(0,10)) abline(median(data), 0, lw=2, col=4)
[1] 0.62 [2] 2.0 [3] 2.7
[4] 3.7 [5] 5.7 [6] 6.3
[7] 6.6[8] 9.0 [9] 9.1 [10] 9.4
中央値数値を小さい順に並べ順位が真ん中になるもの(順位が真ん中になるものが2つある場合は、足して2で割る)
今回の場合は、5番目と6番目の数字を足して2で割ったもの
17
R言語
plot(data, pch=21, bg=2, col=2, cex=2, ylim=c(0,10))
abline(median(data), 0, lw=2, col=4)
丸の大きさ
y軸の範囲(0~10)
シンボルの枠の色(2は赤)
シンボルの塗りつぶし色(2は赤)
シンボルの形(21は丸)
プロット描写関数
直線描写関数
切片
傾き
ラインの太さ
ラインの色3は緑、4は青
18
R言語
平均値と中央値とはずれ値
命令
windows()par( mar=c(4,4,1,1), mfrow=c(1,2)) set.seed(1) data <- runif(10, min=0, max=10) plot(data, pch=21, bg=2, col=2, cex=2, ylim=c(0,50)) abline(mean(data), 0, lw=2,col=3) abline(median(data), 0, lw=2,col=4)
set.seed(1) data <- runif(9, min=0, max=10); data <-c(data, 50) plot(data, pch=21, bg=2, col=2, cex=2, ylim=c(0,50)) abline(mean(data), 0, lw=2,col=3) abline(median(data), 0, lw=2,col=4)
乱数でデータを9個(最初の9個は上と同じ)
10個目は50という数値にする
画面を左右2分割にする(覚えなくて良い)
19
R言語
平均値と中央値とはずれ値
結果
平均値 5.53中央値 6.01
平均値 10.5中央値 6.45
はずれ値
平均値は、はずれ値の影響を大きくうける。それに対して、中央値は、はずれ値に対して安定である。
20
推定の補足(t分布) 標本数(n)が小さいときは、(生物)実験は、正規分布にならずt分布になる
(n∞のとき t分布は正規分布に一致する)
命令
x <- seq(-4, 4, 0.01)plot(NULL, xlim=c(-4,4), ylim=c(0,0.4), xlab="", ylab="")curve(dnorm, -4, 4, type="l", col = "red", lw=3, add=T)curve(dt(x, 10),-4, 4, type="l", col = "green", lw=3, add=T) curve(dt(x, 5),-4, 4, type="l", col = "blue", lw=3, add=T) abline(h=0, lw=3, col="black")
xの範囲を-4から4まで0.01刻みで定義
赤: 正規分布(平均0,標準偏差1) 緑: 自由度10のt分布青: 自由度5のt分布
正規分布に似ているがすそが広がっている
21
R言語
plot(NULL, xlim=c(-4,4), ylim=c(0,0.4), xlab="", ylab="")
x軸のラベルy軸の範囲(0~0.4)
x軸の範囲(-4~4)
プロット描写関数(枠だけ)
y軸のラベル
curve(dnorm, -4, 4, type="l", col = "red", lw=3, add=T)
関数形描写関数
描写するデータ無し
関数(正規分布) (d: distribution) (norm: normal)
色は数値でなくても色の名前(英語)で指定可
x軸の範囲(-4~4)
重ね合わせ
ラインの太さ
22
正規分布の信頼区間
q.upper <- qnorm(0.975); q.lower <- qnorm(0.025)limit.x <- c(-3.5,3.5)len <- 100 x = seq(q.lower, q.upper, length= len)y = dnorm(x)plot(NULL, xlim=limit.x, ylim=c(0,0.4), xlab="", ylab="")polygon(c(x[1],x,x[len]), c(0,y,0), col="red")curve(dnorm, -3.5, 3.5, lwd=3, col="blue", add=TRUE) abline(h=0, lw=3, col="black") abline(v=q.upper, lw=3, col="green") abline(v=q.lower, lw=3, col="green")
命令
95%の下側信頼限界(下側累積確率2.5%)
95%の上側信頼限界(下側累積確率97.5%)
x軸の左端と右端
塗りつぶし領域の分割数
(下側累積確率97.5%)(下側累積確率2.5%
23
正規分布の信頼区間
面積を積分すると95%
95%信頼区間の上側限界
95%信頼区間の下側限界
1.96 これより上側を積分すると2.5%
-1.96 これより下側を積分すると2.5%
正規分布
qnorm(0.975)qnorm(0.025)
24
R言語
plot(NULL, xlim=c(0,4), ylim=c(0,4), xlab="", ylab="") polygon(c(0,2,3,4,4), c(0,2,1,4,0), col="red")
枠をつくる塗りつぶし関数
x軸の座標
色指定
A B C D E X座標 0 2 3 4 4 Y座標 0 2 1 4 0 A
B
C
D
E
y軸の座標
25
t分布の信頼区間
df <- 5 q.upper <- qt(0.975,df); q.lower <- qt(0.025,df)limit.x <- c(-3.5,3.5)len <- 100 x = seq(q.lower, q.upper, length= len)y = dt(x,df)plot(NULL, xlim=limit.x, ylim=c(0,0.4), xlab="", ylab="")polygon(c(x[1],x,x[len]), c(0,y,0), col="red")curve(dt(x, df),-3.5, 3.5, type="l", col = "blue", lw=3, add=T) abline(h=0, lw=3, col="black") abline(v=q.upper, lw=3, col="green") abline(v=q.lower, lw=3, col="green")
命令
t分布の自由度(今回は5) t分布の信頼限界
t分布の概形
26
t分布の信頼区間
面積を積分すると95%
95%信頼区間の上側限界
95%信頼区間の下側限界
2.57 これより上側を積分すると2.5%
-2.57 これより下側を積分すると2.5%
自由度5 のt分布
qt(0.975,df) qt(0.025,df)
27
問題(1) (問い) ある平均値が100、標準誤差(SE)が10のとき、自由度10のt分布を用いて平均値の99%, 95%, 90% 信頼区間を有効桁数3桁で算出せよ。
※課題はメールで高橋<[email protected]>へ送る。(メール提出の際は、タイトル「分子生体機能学バイオインフォ編2_学籍番号(半角)_名前(全角)」)「Bioinfo20140528_学籍番号(半角)_名前(全角).xls」という名前で添付)
課題の書式
28
統計学の基礎t分布と正規分布の信頼区間
命令
df <- c(1,5,10,15,20,50,100,1000,10000)
qt(0.050, df); qt(0.950, df)
qt(0.025, df); qt(0.975, df)
qt(0.005, df); qt(0.995, df)
qnorm(0.050); qnorm(0.950)
qnorm(0.025); qnorm(0.975)
qnorm(0.005); qnorm(0.995)
t分布の90%信頼区間の下側限界(5%)と上側限界(95%)
t分布の95%信頼区間の下側限界(2.5%)と上側限界(97.5%)
t分布の99%信頼区間の下側限界(0.5%)と上側限界(99.5%)
正規分布の90%信頼区間の下側限界(5%)と上側限界(95%)
正規分布の95%信頼区間の下側限界(2.5%)と上側限界(97.5%)
正規分布の99%信頼区間の下側限界(0.5%)と上側限界(99.5%)
自由度
29
統計学の基礎t分布と正規分布の信頼区間
結果
> df <- c(1,5,10,15,20,50,100,1000,10000)> qt(0.050, df); qt(0.950, df) [1] -6.313752 -2.015048 -1.812461 -1.753050 -1.724718[6] -1.675905 -1.660234 -1.646379 -1.645006[1] 6.313752 2.015048 1.812461 1.753050 1.724718 1.675905[7] 1.660234 1.646379 1.645006> qt(0.025, df); qt(0.975, df) [1] -12.706205 -2.570582 -2.228139 -2.131450 -2.085963[6] -2.008559 -1.983972 -1.962339 -1.960201[1] 12.706205 2.570582 2.228139 2.131450 2.085963[6] 2.008559 1.983972 1.962339 1.960201> qt(0.005, df); qt(0.995, df) [1] -63.656741 -4.032143 -3.169273 -2.946713 -2.845340[6] -2.677793 -2.625891 -2.580755 -2.576321[1] 63.656741 4.032143 3.169273 2.946713 2.845340[6] 2.677793 2.625891 2.580755 2.576321> qnorm(0.050); qnorm(0.950) [1] -1.644854[1] 1.644854> qnorm(0.025); qnorm(0.975) [1] -1.959964[1] 1.959964> qnorm(0.005); qnorm(0.995) [1] -2.575829[1] 2.575829
30
Rにおけるエラーバーのつけかた
パッケージgregmiscのインストールする。
install.packages(c("gregmisc"))
でもok
31
Rにおけるエラーバーのつけかた
命令
library(gregmisc) x<-c(30,50,15,55,50,40,52,55,58,60,55,58) y<-c(0,0,0,10,10,10,30,30,30,100,100,100) tmp <- split(x, y) means <- sapply(tmp, mean) stdev <- sapply(tmp, sd) n <- sapply(tmp,length) ciw <- qt(0.975, n-1) * stdev / sqrt(n) windows() par( mar=c(4,4,1,1), mfrow=c(1,2)) plotCI(x=means, uiw=ciw,
col="black", barcol="blue", lwd=1, type="l") plotmeans( x ~ y , p=0.95)
plotCIの別解(信頼区間を自動で計算) 32
Rにおけるエラーバーのつけかた
33
R言語
split関数とsapply関数
x<-c(30,50,15,55,50,40,52,55,58,60,55,58) y<-c(0,0,0,0,0,1,1,1,1,2,2,2) (tmp <- split(x, y)) (means <- sapply(tmp, mean) )
命令
> x<-c(30,50,15,55,50,40,52,55,58,60,55,58) > y<-c(0,0,0,0,0,1,1,1,1,2,2,2) > (tmp <- split(x, y)) $`0`[1] 30 50 15 55 50 $`1`[1] 40 52 55 58 $`2`[1] 60 55 58 > (means <- sapply(tmp, mean) )
0 1 2 40.00000 51.25000 57.66667
結果
ベクトルyに応じてベクトルxを
グループに分割
グループごとに平均値を算出
34
R言語
平均値の信頼区間の計算
z <- c(40,52,55) ; mean(z) ( n <-length(z) ) ( stdev <- sd(z) ) ( ciw <- qt(0.975, n-1) * stdev / sqrt(n) )
命令
> z <- c(40,52,55) ; mean(z) [1] 49> ( n <-length(z) ) [1] 3> ( stdev <- sd(z) ) [1] 7.937254> ( ciw <- qt(0.975, n-1) * stdev / sqrt(n) )[1] 19.71723
結果
平均値の点推定値 49 95%信頼区間
49±20
29~69
平均値
データ数
標準偏差
標準誤差
35
問題(2)(問い) 30,40,52,55,90,99の6個のデータがある。このデータの平均値の点推定値と99%信頼区間を有効数字に注意して計算せよ (信頼区間は○~○と記述)
※課題はメールで高橋<[email protected]>へ送る。(メール提出の際は、タイトル「分子生体機能学バイオインフォ編2_学籍番号(半角)_名前(全角)」)「Bioinfo20140528_学籍番号(半角)_名前(全角).xls」という名前で添付)
課題の書式
36
Rを使った検定例
10個の測定値がある。母平均が10であるかどうか検定しなさい。また,95% 信頼区間を求めなさい。(1標本t検定) [測定値: 9.8, 10.2, 9.5, 7.5, 10.4, 10.5, 10.3, 11.3, 7.7, 8.7]
命令
x <- c(9.8, 10.2, 9.5, 7.5, 10.4, 10.5, 10.3, 11.3, 7.7, 8.7) t.test(x, mu=10, conf.level = 0.95)
> x <- c(9.8, 10.2, 9.5, 7.5, 10.4, 10.5, 10.3, 11.3, 7.7, 8.7) > t.test(x, mu=10, conf.level = 0.95)
One Sample t-test data: x t = -1.037, df = 9, p-value = 0.3268 alternative hypothesis: true mean is not equal to 10 95 percent confidence interval: 8.695597 10.484403 sample estimates: mean of x
9.59
結果
95%信頼区間は8.695597~10.484403
p ≧ 0.05.したがって、10と差があるとは言えない
平均値の点推定値は9.59 したがって、帰無仮説は棄却出来ない
37
Rを使った検定例(正規性検定)10個測定値を2セット分の合計20個分のデータが正規分布に従うか検定しなさい (1標本コルモゴロフスミルノフ検定 ) 。測定値(1回目)は、set.seed(1); x <- rnorm(10, mean=10, sd=1) 測定値(2回目)は、set.seed(1); y <- rnorm(10, mean=11, sd=1) として、Rで乱数により生成しなさい。
命令
set.seed(1); x <- rnorm(10, mean=10, sd=1) set.seed(1); y <- rnorm(10, mean=11, sd=1) z <- c(x, y) ks.test(z,"pnorm",mean=mean(z),sd=sd(z))
> set.seed(1); x <- rnorm(10, mean=10, sd=1) > set.seed(1); y <- rnorm(10, mean=11, sd=1) > z <- c(x, y) > ks.test(z,"pnorm",mean=mean(z),sd=sd(z))
One-sample Kolmogorov-Smirnov test data: z D = 0.1049, p-value = 0.9638 alternative hypothesis: two-sided
結果
p>0.05なので、正規分布からはずれるとは言えない。
厳密には、有意なものを除外した解析を行いたい場合は、
偽陰性を考慮する必要
がある(しかし、現実には困難であるため有意水準は
大きく(10%以上に)設定する)
38
Rを使った検定例(対応無しt検定)10回の測定を2セット行った。この2セットの測定の平均値に差があるかどうかを対応無しt検定により検定しなさい。ただし、測定値(1回目)は、set.seed(1); x <- rnorm(10, mean=10, sd=1) 測定値(2回目)は、set.seed(2); y <- rnorm(10, mean=11, sd=1) として、Rで乱数により生成しなさい。
命令
set.seed(1); x <- rnorm(10, mean=10, sd=1) set.seed(2); y <- rnorm(10, mean=11, sd=1) t.test(x, y)
> t.test(x, y) Welch Two Sample t-test
data: x and y t = -2.7148, df = 17.107, p-value = 0.01465 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: -1.9170560 -0.2408417 sample estimates: mean of x mean of y 10.13220 11.21115
結果
0.01<p < 0.05.したがって、有意水準1%では棄却出来ないが
5%とすれば棄却出来る
39
Rを使った検定例(U検定)10回の測定を2セット行った。この2セットの測定の中央値に差があるかどうかをU検定により検定しなさい。ただし、測定値(1回目)は、set.seed(1); x <- rnorm(10, mean=10, sd=1) 測定値(2回目)は、set.seed(2); y <- rnorm(10, mean=11, sd=1) として、Rで乱数により生成しなさい。
命令
set.seed(1); x <- rnorm(10, mean=10, sd=1) set.seed(2); y <- rnorm(10, mean=11, sd=1) wilcox.test(x, y)
> wilcox.test(x, y) Wilcoxon rank sum test
data: x and y W = 17, p-value = 0.01150 alternative hypothesis: true location shift is not equal to 0
結果
0.01<p < 0.05.したがって、有意水準1%では棄却出来ないが
5%とすれば棄却出来る
40
Rを使った検定例(対応有りt検定)10回の測定を2セット行った。この2セットの測定の平均値に差があるかどうかを対応有りt検定により検定しなさい。ただし、測定値(1回目)は、set.seed(1); x <- rnorm(10, mean=10, sd=1) 測定値(2回目)は、set.seed(2); y <- rnorm(10, mean=11, sd=1) として、Rで乱数により生成しなさい。
命令
set.seed(1); x <- rnorm(10, mean=10, sd=1) set.seed(2); y <- rnorm(10, mean=11, sd=1) t.test(x, y, paired = T)
> t.test(x, y, paired = T) Paired t-test
data: x and y t = -2.4534, df = 9, p-value = 0.03655 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: -2.07379750 -0.08410023 sample estimates: mean of the differences
-1.078949
結果
0.01<p < 0.05.したがって、有意水準1%では棄却出来ないが
5%とすれば棄却出来る
41
Rを使った検定例(U検定)10回の測定を2セット行った。この2セットの測定の中央値に差が あるかどうかをウィルコクソンの符号付順位和により検定しなさい。ただし、測定値(1回目)は、set.seed(1); x <- rnorm(10, mean=10, sd=1) 測定値(2回目)は、set.seed(2); y <- rnorm(10, mean=11, sd=1) として、Rで乱数により生成しなさい。
命令
set.seed(1); x <- rnorm(10, mean=10, sd=1) set.seed(2); y <- rnorm(10, mean=11, sd=1) wilcox.test(x, y , paired=T)
> wilcox.test(x, y , paired = T) Wilcoxon signed rank test
data: x and y V = 7, p-value = 0.03711alternative hypothesis: true location shift is not equal to 0
結果
0.01<p < 0.05.したがって、有意水準1%では棄却出来ないが
5%とすれば棄却出来る