#R言語はじめました

そもそもR言語とは?
R言語は、1995年にロス・イハカ氏とロバート・ジェントルマンによってデータ解析・統計プログラミングとして開発。主に学術や研究の分野で使われ、近年は民間でも盛んに導入。Pythonでもいいが、Rのほうが取っ掛かりやすい?食わず嫌いのようなもの。

今日は”データをグラフ化してみる”をテーマに。

ダウンロードの方法など基礎の基礎はまた後日。今回参考にしたNOTE記事はこちら。https://note.com/eiko_dokusho


> #拘縮させた足関節のTNF -α発現量の2群比較(rigid vs. control)
> #拘縮したELISAデータを入力pg /ug
> rigid<-c(0.673811505,0.866539655,0.762150439,0.424067797,0.659460855)
> #健常側のELISAデータを入力pg /ug
> control<-c(0.19997598,0.560155183,0.359398997,0.541291125,0.3299812)

このため、今回のデータは"rigid"と"control"で定義されます


> #合計を計算する関数は "sum"
> #データの個数は "length"
> #平均を数式で
> sum(rigid)/length(rigid)
[1] 0.6772061
> average(rigid)
average(rigid) でエラー:
関数 "average" を見つけることができませんでした
> #averageでは算出できませんでした
> mean(rigid)
[1] 0.6772061
> #平均はmeanです
> mean(control)
[1] 0.3981605


さて、”データをグラフ化してみる” 95%信頼区間の横グラフです

まずは、95%信頼区間を定義つけます

>  cirigid<-t.test(rigid)$conf.int
>  cicontrol<-t.test(control)$conf.int

信頼区間はCIで表します。cirigid=ci+rigid、つまりrigidの95%信頼区間となります。先ほどrigidは5つのデータで定義されていますので。5つのデータの信頼区間が算出されます

"t.test(rigid)"では「真の平均値が0と等しい」という帰無仮説について一標本のt検定を行っています。

"$conf.int"はconfidence interval:信頼区間です。"$"を使ってデータを指定しています

このため、上記の言語は"t.test(rigid)"が持っている信頼区間"conf.int"を"cirigid"に代入するということを表しています


さて、信頼区間をRで計算してみます。

信頼区間とは、母集団の真の値が含まれることが、かなり確信できる数値範囲。 例えば95%CIとは、この範囲に母集団の値が存在すると、95%確信できることを意味する。


> ( t <- abs(qt(0.05/2, 4)) )
[1] 2.776445
> (lower <- mean(rigid) - t * SE)
[1] 0.4496602
> (upper <- mean(rigid) + t * SE)
[1] 0.9047519


#まずは 境界値(両側検定なので、α/2)を計算します
> #言語は( t <- abs(qt(0.05/2, N-1)) )ですが
> #N-1はサンプル数-1を示しています
> #length(rigid)で求めてもいいですが、少ないので直接入力します
> ( t <- abs(qt(0.05/2, 4)) )
[1] 2.776445
> # 95%信頼区間の推定
> #SE <- sd(rigid) / sqrt(N-1)のためまたN-1を代入します
> SE <- sd(rigid) / sqrt(4)
> (lower <- mean(rigid) - t * SE)
[1] 0.4496602
> (upper <- mean(rigid) + t * SE)
[1] 0.9047519


次にグラフを書いてみます

> dotchart(c(mean(rigid),mean(control)),pch = 16,xlim=range(cirigid,cicontrol),xlab="volume)")
> arrows(cirigid[1],1,cirigid[2],1,length=0.05,angle=90,code=3)
> arrows(cicontrol[1],2,cicontrol[2],2,length=0.05,angle=90,code=3)
> mtext(c("Rigid","control"),side=2,at=1:2,line=0.5,las=1,)

画像2

少し綺麗にしていきましょう!

dotchart(c(mean(rigid),mean(control)),pch = 16,xlim=range(cirigid,cicontrol),xlab="volume)")

これは、"dotchart(データのベクトル、プロットのマーカー、X軸のプロットの範囲、X軸のラベル)"

ベクトルを作成する基本的な関数は c() であり、c(mean(rigid),mean(control)

pch はプロットのマーカー

画像2

> dotchart(c(mean(rigid),mean(control)),pch = 16,xlim=range(0,cirigid,cicontrol),xlab="TNF-α volume")

Rangeを0からに変更してみました

画像3

まだ信頼区間は入力されていませんので、95%信頼区間の幅を表示さましょう!"arrow()"関数:矢印を書き加えるための関数を使って書きます。

> arrows(cirigid[1],1,cirigid[2],1,length=0.05,angle=90,code=3)
> arrows(cicontrol[1],2,cicontrol[2],2,length=0.05,angle=90,code=3)

画像4


"cirigid[1],1"で矢印の始点のX座標とY座標を指定しており、「"citreat"変数のなかの一番目の要素をx、1をyとする座標を矢印の始点とする」。同じように"citreat[2],1"で終点の座標を指定

"length=0.05"では、矢じりのサイズを指定

"angle=90"と"code=3"はエラーバーを書くときの決まりの数値


最後にY軸の名前を入れましょう

> mtext(c("Rigid","Control"),side=2,at=1:2,line=0.5,las=1,)

まず、書き込む文字列をベクトルで指定:c("Rigid","Control")

画像6

"side"で文字列を書き込む位置を指定:1が下、2が左、3が上、4が右

"at"で文字列を書き込む座標を指定

"line"で、図形から何行離すかを指定

"las"で文字列の方向を指定:las=0で各軸に並行、las=1ですべて水平、las=2は軸に対して垂直、las=3ですべて垂直

画像6


なかなか横軸のグラフも見栄えがいいですね。各サンプルのドットマーカーが付けれるといいのですが。。。




この記事が気に入ったらサポートをしてみませんか?