久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

TCGA之生存分析(1)基本概念與操作

 生物_醫(yī)藥_科研 2019-12-03

下載數(shù)據(jù)

#載入必要的包
library('cgdsr')
library('tidyverse')

#獲取乳腺癌的表達(dá)量數(shù)據(jù)
mycgds <- CGDS('http://www./')
getCancerStudies(mycgds) %>%  filter(grepl('brca',.[,1])) %>%DT::datatable()
mycancerstudy <- 'brca_tcga'

#getProfileData用于獲取特定的基因組數(shù)據(jù)(RNA、Mutation,、CNV等等),,
#需要先確定樣本列表、基因組數(shù)據(jù)類型及特定的基因
getCaseLists(mycgds,mycancerstudy)[,c(1,2)] #查看當(dāng)前可用的樣本列表
getGeneticProfiles(mycgds,mycancerstudy)[,c(1,2)] #查看當(dāng)前可以下載的基因組數(shù)據(jù)類別,,根據(jù)需要的數(shù)據(jù)類別選擇相應(yīng)的值
choose_genes <- c('BRCA1','BRCA2') #關(guān)注兩個(gè)基因

BRCA可用的樣本列表如下:

BRCA可以下載的遺傳數(shù)據(jù)列表如下:

##下載mRNA表達(dá)數(shù)據(jù)##
mycaselist <- getCaseLists(mycgds,mycancerstudy)[8,1] 
mygeneticprofile <- getGeneticProfiles(mycgds,mycancerstudy)[6,1]
expr <- getProfileData(mycgds,choose_genes,
                    mygeneticprofile,mycaselist)

##下載獲取臨床數(shù)據(jù)##
mycaselist <- getCaseLists(mycgds,mycancerstudy)[1,1] 
myclinicaldata <- getClinicalData(mycgds,mycaselist) #共有107列信息
choose_columns <- c('AJCC_METASTASIS_PATHOLOGIC_PM','AJCC_NODES_PATHOLOGIC_PN','AJCC_PATHOLOGIC_TUMOR_STAGE','AJCC_TUMOR_PATHOLOGIC_PT',
                 'AGE','SEX','VITAL_STATUS','OS_STATUS','OS_MONTHS',
                 'DFS_MONTHS','DFS_STATUS')
choose_clinicaldata <- myclinicaldata[,choose_columns] #只選擇其中的11列用于后續(xù)分析
colnames(choose_clinicaldata)[1:4] <- c('M','N','STAGE','T')

簡(jiǎn)單生存分析

使用survival包的survfit函數(shù)進(jìn)行生存分析,,survfit函數(shù)需要Surv函數(shù)創(chuàng)建的生存分析對(duì)象。如果只是簡(jiǎn)單觀察某一組生存數(shù)據(jù)的生存曲線,,而不進(jìn)行分類,、分層、cox回歸等分析,,則將formula的右側(cè)參數(shù)寫(xiě)為1即可,,如my.surv~1, Surv(dat$OS_MONTHS,dat$OS_STATUS=='DECEASED')~1等等,。

使用survminer的ggsurvplot函數(shù)進(jìn)行生存分析的可視化,,使用方法很簡(jiǎn)單,將survfit函數(shù)的結(jié)果直接傳入此函數(shù)即可,,如果沒(méi)有將數(shù)據(jù)集傳給survfit函數(shù),則在ggsurvplot函數(shù)中需要指明數(shù)據(jù)集(也就是參數(shù)data,,如data=dat),。

###簡(jiǎn)單生存分析
library(survival)
dat <- choose_clinicaldata %>% filter(OS_MONTHS > 0)
table(dat$OS_STATUS)
#DECEASED   LIVING 
#     154      935 
my.surv <- Surv(dat$OS_MONTHS,dat$OS_STATUS=='DECEASED') #創(chuàng)建生存分析對(duì)象,DECEASED代表事件發(fā)生
kmfit1 <- survfit(my.surv~1) 

library('survminer')
ggsurvplot(kmfit1,data = dat)

分類數(shù)據(jù)的生存分析

以性別為分類變量,同簡(jiǎn)單分析的區(qū)別在于,,將分類變量放置到formula的右側(cè),,如my.surv~dat$SEX, Surv(dat$OS_MONTHS,dat$OS_STATUS=='DECEASED') ~dat$SEX,。

#以性別為分類變量
my.surv <- Surv(dat$OS_MONTHS,dat$OS_STATUS=='DECEASED') 
kmfit2 <- survfit(my.surv~dat$SEX) 
ggsurvplot(kmfit2,data = dat)

還可以使用strata對(duì)分層變量進(jìn)行控制:

#還可以使用strata參數(shù)控制分層變量
survfit(my.surv~dat$SEX+strata(dat$AGE)) #AGE為分層變量
survfit(my.surv~dat$SEX+strata(dat$AGE,dat$M)) #AGE和M都是分層變量

ggsurvplot是可以自動(dòng)添加p值的,,使用pval=T參數(shù),另外如前面所述,,ggsurvplot會(huì)重新進(jìn)行顯著性計(jì)算,,如果survfit函數(shù)沒(méi)有指定data參數(shù)的話,那么需要在ggsurvplot中傳入正確的data參數(shù),,比如:

my.surv <- Surv(dat$OS_MONTHS,dat$OS_STATUS=='DECEASED')
kmfit3 <- survfit(my.surv~dat$STAGE)
ggsurvplot(kmfit3,data = dat,pval=T)

其實(shí)也可以使用survival包的survdiff函數(shù)手動(dòng)進(jìn)行顯著性計(jì)算,,同樣的可以使用strata參數(shù)控制分層變量:

survdiff(my.surv~dat$SEX)
survdiff(my.surv~dat$SEX+strata(dat$AGE,dat$M)) #還可以使用strata參數(shù)控制分層變量

cox回歸生存分析

survival包的coxph函數(shù)用于cox回歸生存分析,詳細(xì)的結(jié)果還可以使用summary函數(shù)進(jìn)行查看,。

繪圖時(shí),,由于ggsurvplot函數(shù)需要survfit對(duì)象,,因此需要將cox回歸的結(jié)果傳入survfit函數(shù),也就是survfit(m, data = dat),,但是ggsurvplot在進(jìn)行繪圖時(shí)需要獲取survfit的formula,,并重新進(jìn)行計(jì)算。如果此時(shí)直接傳入survfit(m, data = dat)的結(jié)果的話,,那么ggsurvplot就會(huì)錯(cuò)誤讀取到formula是m,,而不是真正的formula:my.surv ~ AGE + SEX + N + T + M + STAGE,此時(shí)就會(huì)報(bào)錯(cuò),。所以對(duì)于cox回歸的生存分析,,使用ggsurvplot繪圖時(shí)需要人工指定formula:fit$call$formula <- m$call$formula,如下:

dat <- choose_clinicaldata[choose_clinicaldata$OS_MONTHS > 0,]
dat <- dat[!is.na(dat$OS_STATUS),]
dat$OS_STATUS <- as.character(dat$OS_STATUS)
attach(dat)
my.surv <- Surv( OS_MONTHS,OS_STATUS=='DECEASED')
m<-coxph(my.surv ~ AGE + SEX + N + T + M + STAGE, data =  dat) #cox回歸生存分析
#summary(m)
fit <- survfit(m, data =  dat)
fit$call$formula <- m$call$formula #此步驟必不可少,,否則ggsurvplot無(wú)法出圖
ggsurvplot(fit, palette = '#2E9FDF', ggtheme = theme_minimal())
detach(dat)

參考資料

  1. TCGA的28篇教程- 對(duì)TCGA數(shù)據(jù)庫(kù)的任意癌癥中任意基因做生存分析

  2. 【r<-統(tǒng)計(jì)|繪圖】使用R進(jìn)行生存分析——一文打盡https://www.jianshu.com/p/4ad9ba730719

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多