2015-12-10 208 views
3

我想繪製同一圖中的多條生存曲線。使用plot我可以輕鬆地通過R在同一圖中繪製多條生存曲線

plot(sr_fit_0, col = 'red' , conf.int=TRUE, xlim=c(0, max_m)) 
par(new=TRUE) 
plot(sr_fit_1, col ='blue', conf.int=TRUE, xlim=c(0, max_m))` 

做到這一點但現在我想用ggsurv繪製生存曲線,我不知道如何同積(不次要情節)有他們兩個。任何幫助表示讚賞。

+3

請考慮在讀了[問]如何產生[重複的例子(http://stackoverflow.com/questions/5963269/how-to-make-a-great -r重現-例子)。使其他人更容易幫助你。 – Heroka

回答

6

我爲倉鼠和沙鼠的生活產生了一些生命數據。您可以使用與其他曲線擬合函數相似的survfit()函數,並定義分割總體的數據框列。當你用ggsurv()創建圖時,我認爲它會顯示你正在尋找的東西。

## Make some data for varmint life 
set.seed(1); l1 <- rnorm(120, 2.5, 1) 
gerbils <- data.frame(life = l1[l1>0]) 
set.seed(3); l2 <- rnorm(120, 3, 1) 
hamsters <- data.frame(life = l2[l2>0]) 

## Load required packages 
require('survival'); require('GGally') 

## Generate fits for survival curves 
## (Note that Surv(x) creates a Survival Object) 
sf.gerbils <- survfit(Surv(life) ~ 1, data = gerbils) 
sf.hamsters <- survfit(Surv(life) ~ 1, data = hamsters) 
ggsurv(sf.gerbils) #Survival plot for gerbils 
ggsurv(sf.hamsters) #Survival plot for hamsters 

## Combine gerbils and hamsters while adding column for identification 
varmints <- rbind((cbind(gerbils, type = 'gerbil')), 
        (cbind(hamsters, type = 'hamster'))) 

## Generate survival for fit for all varmints as a function of type 
sf.varmints <- survfit(Surv(life) ~ type, data = varmints) 

## Plot the survival curves on one chart 
ggsurv(sf.varmints) 

enter image description here

+0

非常感謝,但它不再顯示置信區間。 – Erin

+1

您應該在R控制檯提示符處嘗試「?survfit」,或查看CRAN上的GGally軟件包參考。可以將CI參數設置爲true來繪製置信區間。 (我沒有測試它)。 –

+0

非常感謝它實際上是ggsurv(sf.varmints,CI = TRUE) – Erin