Я пытаюсь отобразить число риска ниже графика выживания. Вот пример того, как он должен выглядеть:
График с NAR
Вот несколько примеров данных для использования:
test_data <- data.frame(time=c(1.02907463019679,3.02017585081081,3.73006634871282,3.88060307395415,0.278302388350358,2.77423719369773,1.67550105854952,2.92531228378167,2.23527672389748,2.75338577783866,0.369718967288981,4.22961147740193,10,5.19350668404687,2.07644091782352,4.76094963769695,5.98061410512699,10,4.26217115342603,3.72514281210067,5.0485503522946,1.99480448004427,4.34524189413958,4.17722991588568,3.43314511181711,6.70406316220384,4.04433187516637,4.15031900238323,4.36756910813681,4.47974418498718,5.2710502812882,8.04265573412237,4.67996891372157,8.33329406509452,8.63329406509452,5.00390829964284,4.68224783069556,9.45,7.92407142384213,3.62268990413361),status=c(1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,1,1,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0,0,1),inter=c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1))
Я построил данные таким образом:
test_fit <- survfit(Surv(time,status) ~ inter,data=test_data)
plot(test_fit,col=brewer.pal(n=2,name="Set1"),lwd=3,lty=1,ylab='Survival',xlab='Years',bty='L')
legend('topright',legend=c('control','inter'),bty='n',col=brewer.pal(n=2,name="Set1"),lty=1,lwd=3,cex=0.75)
Число в таблице риска можно построить так:
library(survutils)
test_nrisk <- get_nrisk_tbl(test_fit,2)
nrisk_tbl <- data.frame(test_nrisk$n.risk[test_nrisk$time==0],test_nrisk$n.risk[test_nrisk$time==2],test_nrisk$n.risk[test_nrisk$time==4],test_nrisk$n.risk[test_nrisk$time==6],test_nrisk$n.risk[test_nrisk$time==8],test_nrisk$n.risk[test_nrisk$time==10])
Тогда я могу построить таблицу следующим образом:
grid.draw(tableGrob(nrisk_tbl,rows=NULL,cols=NULL,theme=ttheme_minimal()))
Но в этот момент я застрял, я не могу объединить график и таблицу где-либо близко к изображению, которое я показал выше.