MENU

EZR で書いたカプランマイヤー曲線の凡例を調整する方法

EZR のグラフの凡例を移動したり、軸の範囲を広げたりして、調整する方法

>>もう統計で悩むのは終わりにしませんか? 

↑期間・数量限定で無料プレゼント中!

目次

EZR でグラフを書く方法 総論

ヒストグラムや散布図など一般的なグラフは、「グラフと表」から選択する。

たいていのグラフはこのメニューから描ける。

カプランマイヤー曲線を描きたいときは、「統計解析」→「生存期間の解析」→「Logrank検定」のメニューから描く。

観察期間変数、イベント変数、群別変数を選択しOKをクリックすれば以下のようなグラフが描ける。

EZR のグラフを凡例を調整する方法

先ほどの図には、右上に「凡例(はんれい)」があるのだが、グラフと重なってしまっている。

この位置を調整するには、どうしたらよいか?

二つ方法がある。

1.凡例の場所を変える

凡例は今右上にあるが、これを左下にもっていくことができる。

Rスクリプトの一部を変更して、再実行すると変更できる。

変更前のRスクリプトは以下の通り。

plot(km, bty="l", col=1:32, lty=1, lwd=1, conf.int=FALSE, mark.time=TRUE,
xlab="futime", ylab="Probability")
xticks <- axTicks(1)
n.atrisk <- nrisk(km, xticks)
for (i in 1:length(km$strata)){axis(1, at = xticks, labels = n.atrisk[i,],
line=3+i, tick = FALSE)}
for (i in 1:length(km$strata)){mtext(legend[i], at=-(xticks[2]-xticks[1])/2,
side=1, line=4+i, cex=1)}
title(xlab = "Number at risk", line = 3.5, adj = 0)
legend ("topright", legend, col=1:32, lty=1, lwd=1,  box.lty=0,
title="agec")

legend()内の”topright”を”bottomleft”に変更して、再実行する。

plot(km, bty="l", col=1:32, lty=1, lwd=1, conf.int=FALSE, mark.time=TRUE,
xlab="futime", ylab="Probability")
xticks <- axTicks(1)
n.atrisk <- nrisk(km, xticks)
for (i in 1:length(km$strata)){axis(1, at = xticks, labels = n.atrisk[i,],
line=3+i, tick = FALSE)}
for (i in 1:length(km$strata)){mtext(legend[i], at=-(xticks[2]-xticks[1])/2,
side=1, line=4+i, cex=1)}
title(xlab = "Number at risk", line = 3.5, adj = 0)
legend ("bottomleft", legend, col=1:32, lty=1, lwd=1,  box.lty=0,
title="agec")

そうすると以下のように凡例が左下に描かれる。

これで重なりを回避できた。

2.Y軸を延長する

今回の例はY軸が生存率で1.0より高いのは適切ではないとは思うが、Y軸の最大値を大きくする方法でも重なりを回避できる。

plot()の中に、ylim=c(0, 1.5)と書き入れてみる。

plot(km, bty="l", col=1:32, lty=1, lwd=1, conf.int=FALSE, mark.time=TRUE,
xlab="futime", ylab="Probability", ylim=c(0, 1.5))
xticks <- axTicks(1)
n.atrisk <- nrisk(km, xticks)
for (i in 1:length(km$strata)){axis(1, at = xticks, labels = n.atrisk[i,],
line=3+i, tick = FALSE)}
for (i in 1:length(km$strata)){mtext(legend[i], at=-(xticks[2]-xticks[1])/2,
side=1, line=4+i, cex=1)}
title(xlab = "Number at risk", line = 3.5, adj = 0)
legend ("topright", legend, col=1:32, lty=1, lwd=1,  box.lty=0,
title="agec")

そうすると以下のように、Y軸方向にグラフが伸びて、凡例とグラフの線が重ならなくなった。

>>もう統計で悩むのは終わりにしませんか? 

↑1万人以上の医療従事者が購読中

まとめ

EZR でグラフの凡例の位置を調整する方法を2つ紹介した。

一つは、legend()内の”topright”を”bottomleft”に変更する方法。

もう一つは、plot()内に、ylim=c()を加えて、Y軸を上に延ばす方法。

参考になれば。

おすすめ書籍

EZR 公式マニュアル

EZRでやさしく学ぶ統計学 改訂3版 〜EBMの実践から臨床研究まで〜
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

リサーチクエスチョン探し?データ分析?論文投稿?、、、で、もう悩まない!

第1章臨床研究ではなぜ統計が必要なのか?計画することの重要性
  • 推定ってどんなことをしているの?
  • 臨床研究を計画するってどういうこと?
  • どうにかして標本平均を母平均に近づけられないか?
第2章:研究目的をどれだけ明確にできるのかが重要
  • データさえあれば解析でどうにかなる、という考え方は間違い
  • 何を明らかにしたいのか? という研究目的が重要
  • 研究目的は4種類に分けられる
  • 統計専門家に相談する上でも研究目的とPICOを明確化しておく
第3章:p値で結果が左右される時代は終わりました
  • アメリカ統計協会(ASA)のp値に関する声明で指摘されていること
  • そうは言っても、本当に有意差がなくてもいいの…?
  • なぜ統計専門家はp値を重要視していないのか
  • 有意差がない時に「有意な傾向があった」といってもいい?
  • 統計を放置してしまうと非常にまずい
第4章:多くの人が統計を苦手にする理由
  • 残念ながら、セミナー受講だけで統計は使えません。
  • インプットだけで統計が使えない理由
  • どうやったら統計の判断力が鍛えられるか?
  • 統計は手段なので正解がないため、最適解を判断する力が必要
第5章:統計を使えるようになるために今日から何をすれば良いか?
  • 論文を読んで統計が使えるようになるための5ステップ
第6章:統計を学ぶために重要な環境
  • 統計の3つの力をバランスよく構築する環境

以下のボタンをクリックして、画面に出てくる指示に従って、必要事項を記入してください。

この記事を書いた人

統計 ER ブログ執筆者

元疫学研究者

統計解析が趣味

コメント

コメントする

目次