猫も杓子も構造化

発達障害、特別支援などについて書いています。最近は心理学関係の内容が多めです。

続続・シングルケース研究のグラフをRで描く

結構昔に、シングルケースのグラフをRで描く記事を書いた。

シングルケース研究のグラフをRで描く
続・シングルケース研究のグラフをRで描く

なんやかんやでR歴が2年近くになった今見ると、すごい無駄な事しているなぁと思ったりする。

今回はより洗練された感じのものを描こうというお話。

 デフォルトで描画

とりあえず過去記事と同じように仮想のデータを使って描いている。(前回の記事ではデータセットをそもそも別のオブジェクトに入れていたけれど、そんなの要素を[]で指定すれば良いだけの話であり、そこらへんからもR初心者感が伺える。)

#データ入力
session <- c(1:20) #1-5がベースライン, 6-20が介入期
selfinjury <- c(7,9,8,12,8,5,6,4,5,4,2,1,1,3,2,2,1,0,0,1)

データはこんな感じのABデザインで、自傷行為の数が介入で減っていったよという設定。

#従来法
png("デフォルト設定.png",height= 750, width=1000,res=150)
plot(session[1:5], selfinjury[1:5],
     type="o", pch=16, #●は16
     xlim = c(1,20), ylim = c(0,12),
     xlab = "", ylab = "",
)
par(new=T)
plot(session[6:20], selfinjury[6:20],
     type="o", pch=16, #●は16
     xlim = c(1,20), ylim = c(0,12),
     xlab = "Session", ylab = "Selfinjury",
     main="デフォルト設定"
)
abline(v=5.5, lty=2)
dev.off()

上記のコードでやると次のようなグラフになる。

f:id:nekomosyakushimo:20180812132920p:plain

行動分析学研究』風に描きたい

単一事例研究のデータなら『行動分析学研究』ということでいくつか論文を見てみる。無料で公開されておりだれでも見れて太っ腹。

行動分析学研究

確認して見ると、だいたいどの論文も枠がL字型のグラフ(上と右の軸がないグラフ)を描いている。

Rでそういうグラフを描く際はplot()関数で、引数にbty="l"でいいみたい。あとは軸目盛り細かな設定をしたいので、一旦xaxt="n", yaxt="n"とかで目盛りを描かないで、そのあとにaxis()関数で個別に描く。そうすると次のようなコードになる。

#『行動分析学研究』風に
png("行動分析学研究風.png",height= 750, width=1000,res=150)
plot(session[1:5], selfinjury[1:5],
     type="o", pch=16, #●は16
     xlim = c(1,20), ylim = c(0,12),
     xlab = "", ylab = "",
     axes=FALSE
)
par(new=T)
plot(session[6:20], selfinjury[6:20],
     type="o", pch=16, #●は16
     xlim = c(1,20), ylim = c(0,12),
     xlab = "Session", ylab = "Selfinjury",
     bty="l", xaxt="n", yaxt="n",
     main="『行動分析学研究』風"
)
abline(v=5.5, lty=2)
axis(1,1:20)
axis(2,seq(from=0,to=12,by=1),las=TRUE)
dev.off()

上記のコードの結果出力されたのが次のもの。

f:id:nekomosyakushimo:20180812133443p:plain

なんかそれっぽいグラフになりました。

統計解析環境のRは無料で利用できますので、単一事例のデータをお持ちのみなさまはグラフ化に際して使ってみると良いでしょう。