Plot.cuminc() mit "Number at risk" Table

Wie erstelle ich Grafiken, was ist zu beachten?

Moderatoren: EDi, jogo

Antworten
Janik
Beiträge: 5
Registriert: Di Mär 17, 2020 10:38 am

Plot.cuminc() mit "Number at risk" Table

Beitrag von Janik »

Hallo Leute,

ich möchte für meine Doktorarbeit eine Grafik der kumulierten Inzidenz für Competing Risks erstellen. Dafür nutze ich die Funktion cuminc() aus dem Paket 'cmprsk' und rufe danach plot() auf. Das funktioniert soweit auch schon ganz gut.
Ich würde gerne zusätzlich unter der Grafik eine "Number at risk" Tabelle darstellen, ganz einfach die Menge der verbliebenen Fälle in der Interventions- und Kontrollgruppe. Leider kann ich dazu keine Möglichkeit finden. Wie könnte ich das umsetzen?
Ich weiß, dass es auch noch weitere Pakete wie 'ggcompetingrisk()' etc. gibt, aber mir gefällt bisher die ganz einfache plot() Funktion graphisch am besten und deshalb würde ich am liebsten dabei bleiben.

Der Plot entsteht mit:

Code: Alles auswählen

cuminc_fit <- cuminc(ftime=time,fstatus=status,group=inter,cencode=0)
plot(cuminc_fit)
Man kann die Number at risk - Tabelle mit der Funktion get_nrisk_table() aus dem Paket 'survutils' bekommen:

Code: Alles auswählen

surv_fit <- survfit(Surv(time,status) ~ inter)
risk_table <- get_nrisk_tbl(surv_fit,2)
strata time n.risk
1 inter=0 0 115
2 inter=0 2 81
3 inter=0 4 55
4 inter=0 6 33
5 inter=0 8 21
6 inter=0 10 11
7 inter=1 0 18
8 inter=1 2 8
9 inter=1 4 4
10 inter=1 6 2
11 inter=1 8 1
12 inter=1 10 1
Das ganze müsste ich jetzt nur noch unter die jeweiligen Zeitpunkte in dem Plot bekommen.

Vielen Dank

So würde ich mir das in etwa vorstellen:

Bild
ruppy
Beiträge: 41
Registriert: Mo Nov 04, 2019 10:05 pm

Re: Plot.cuminc() mit "Number at risk" Table

Beitrag von ruppy »

Hi Janik.

kann dir dafür das Paket survminer nur wärmstens empfehlen:

http://www.sthda.com/english/wiki/survm ... ualization

Das ist genau für solche Use Cases konzipiert.

BG ruppy
Janik
Beiträge: 5
Registriert: Di Mär 17, 2020 10:38 am

Re: Plot.cuminc() mit "Number at risk" Table

Beitrag von Janik »

Hi ruppy,
danke dir für die Antwort. Durch das Paket survminer habe ich tatsächlich schonmal durchgeguckt. Leider sehen die Plots mit diesem Paket visuell deutlich anders aus und unterscheiden sich damit von den restlichen, die ich so verwende. Daher wäre das nur eine Notlösung.

Ich habe es hinbekommen die Number at risk selber als Tabelle zu formatieren (mit Paketen 'grid' und 'gridExtra'):

Code: Alles auswählen


nrisk_tbl <- data.frame(c(53,43),c(39,23),c(31,13),c(22,12),c(14,5),c(7,0))

grid.draw(tableGrob(nrisk_tbl,rows=NULL,cols=NULL,theme=ttheme_minimal()))

Ich bekomme es aber nicht hin das ganze unter dem Plot so zu skalieren, dass es passt.
Antworten