Quantcast
Channel: グラフ - 廿TT
Viewing all articles
Browse latest Browse all 123

Rによる打ち切りデータの箱ひげ図

$
0
0

右打ち切りのあるデータを視覚化するのにはカプラン・マイヤープロットが便利です。

しかし層の数が多くなると判例と見比べるのが大変になる。

f:id:abrahamcow:20180123230036p:plain

そこである程度情報を落としてプロットしてもいいかなと思い、打ち切りデータの箱ひげ図を提案にします。

make_q_df.R · GitHub


興味があるのは生存時間の長さなので、箱ひげ図の髭の下、箱の下、中央の線、箱の上、髭の上にそれぞれ10%の患者が死亡した時点、25%の患者が死亡した時点、50%の患者が死亡した時点、75%の患者が死亡した時点、90%の患者が死亡した時点を対応させてプロットしたのが以下の図です。

f:id:abrahamcow:20180123230439p:plain

四角い枠が観測期間の終了を示しています。

実用性あるか等、コメントいただけると嬉しいです。

以下 R のコードです。

library(survival)library(tidyverse)source("https://gist.githubusercontent.com/abikoushi/db838b6477b0b612d4da1343a0fa3f46/raw/a6c0a6b8a24d1769c070156de227f678026651c7/make_q_df.R")

lung2 <- lung %>% 
  filter(ph.ecog!=3)
sf <-survfit(Surv(time,status)~sex+ph.ecog,data=lung2)
q_df<-make_q_df(sf)

plot(sf,col=1:6)
legend("topright",legend = names(sf$strata),col=1:6,lty=1)

ggplot(q_df,aes(x=strata))+
  geom_boxplot(aes(lower=q0.25,upper=q0.75,middle=q0.5,ymin=q0.1,ymax=q0.9),stat ="identity")+
  scale_y_continuous(limits = c(0,max(lung2$time[lung2$status==1])),
                     expand = c(0,0))+
  coord_flip()+
  xlab("")+ylab("")+
  theme_rect()

abrahamcow.hatenablog.com

abrahamcow.hatenablog.com


Viewing all articles
Browse latest Browse all 123

Trending Articles