読者です 読者をやめる 読者になる 読者になる

JIKOKENNJIYOKU-NIKKI【21st Century】

明日から本気出すわ。

Rで箱ヒゲ図をつくった

今回も例に漏れず、個人的な備忘録やります。
Rで箱ヒゲ図つくりました。
いつかまたつくるときに思い出せるように。

箱ヒゲ図のソースを他のサイトの方のを拝借しまして、アレンジしました。
ホントに助かってます。
僕のこの記事も自分以外の誰か一人にでも役立てば幸いです。

 # まず前提としてエクセルからコピペ。
 # 今回は3時点で比較する箱ヒゲ図をつくりたい。個人は9人のデータ。
 # そのとき、エクセルに9人のデータは行に並べます。
 # 列は1列目が介入前、2列目が介入後、
 # 3列目がフォローアップ、って感じ。
> datA=scan("clipboard")
Read 9 items
# 介入前の9人のデータをdatA(任意の文字列)に取り込み。
# ''scan''って関数あるんだね。
# =scanは<-read.tableと一緒なんかな?
> datA
[1] 0 0 0 0 0 0 0 0 0
#  datAの中身のデータの確認。
# 以下、同じようにdatBに介入後
# datCにフォローアップのデータを入れる。
> datB=scan("clipboard")
Read 9 items
> datB
[1] 3 6 7 6 7 5 6 6 7
> datC=scan("clipboard")
Read 9 items
> datC
[1] 1 1 1 4 7 4 2 3 5
> list=list(A=datA,B=datB,C=datC)
# listにdatAとdatBとdatCを入れます
# なんでlistに入れるのかは不明。
> boxplot(list)
# これで箱ヒゲ図が出てくる。
f:id:at251:20151001214707j:image
# こんなの↑
# 次はアレンジして、、、

> boxplot(list, names=c("介入前", "介入後", "フォローアップ"), col=c("#539952", "#539952", "#539952"), main="抗筋トレ頻度", xlab="測定時期", ylab="頻度", ylim=c(0,8), width=c(1.1, 1.1, 1.1), staplewex=0.8)
Warning messages:
1: unable to open printer
2: opening device failed

# これだとエラーになる。
# なんでだろ。list指定してるのに。

> boxplot(A,B,C, names=c("介入前", "介入後", "フォローアップ"), col=c("#539952", "#539952", "#539952"), main="抗筋トレ頻度", xlab="測定時期", ylab="頻度", ylim=c(0,8), width=c(1.1, 1.1, 1.1), staplewex=0.8)
Error in boxplot(A, B, C, names = c("介入前", "介入後", "フォローアップ"), :
  object 'A' not found

# listを事前にlistに入れ込んだA,B,Cでやってみるも
# Aがみつからねーよ、って出る。エラーだわ。

> boxplot(datA,datB,datC, names=c("介入前", "介入後", "フォローアップ"), col=c("#539952", "#539952", "#539952"), main="抗筋トレ頻度", xlab="測定時期", ylab="頻度", ylim=c(0,8), width=c(1.1, 1.1, 1.1), staplewex=0.8)
>
 # datAからdatCを指定すると、
f:id:at251:20151001215134j:image
# 出た!!

さらにちょっと加工してますので、アスタリスクとかついてますが、だいたい↑みたいなのが出ます。

以上。