TCGA—STAD免疫細(xì)胞浸潤(CIBERSORT)

- #00 R包安裝

~~~R

rm(list=ls())

if (!requireNamespace("BiocManager", quietly=TRUE))

? install.packages("BiocManager")

BiocManager::install("TCGAbiolinks")

library(TCGAbiolinks)

~~~

##1.1、臨床數(shù)據(jù)下載和整理##

~~~R

cancer_type=paste("TCGA","STAD",sep="-")

print(cancer_type)

#下載臨床數(shù)據(jù)方式一

clinical <- GDCquery_clinic(project = cancer_type, type = "clinical")

write.csv(clinical,file = paste(cancer_type,"clinical.csv",sep = "-"))

cl_df1 <- read.csv("TCGA_STAD_clinical.csv",header = T)

#View(cl_df1)

#####下載臨床下載方式二(官網(wǎng)頁面下載)推薦,因為臨床信息文件不會很大

#合并數(shù)據(jù)整理############官網(wǎng)下載cart然后接下來整理成數(shù)據(jù)框

#更改 R工作目錄到下載臨床信息了文件夾里

library("XML")

library("methods")

####更改工作目錄到有xml文件的目錄下

all_fiels=list.files(path = "./" ,pattern='*.xml$',recursive=T)#head(all_fiels)

#寫循環(huán), 臨床信息整理為數(shù)據(jù)框

cl = lapply(all_fiels, function(x){

? #x=all_fiels[1]

? result <- xmlParse(file = file.path("./",x))

? rootnode <- xmlRoot(result)?

? xmldataframe <- xmlToDataFrame( rootnode[2] )

? #xml共有兩個節(jié)點(diǎn),第二個節(jié)點(diǎn)中儲存著病人的信息

? return(t(xmldataframe))

})

cl_df <- unique(t(do.call(cbind,cl)))

#View(cl_df)

save(cl_df,file = 'TCGA_STAD_clinical_df.Rdata')#最好保存在上一個文件夾下

load(file = 'TCGA_STAD_clinical_df.Rdata')

#write.csv(cl_df,file = 'TCGA_STAD_clinical_df.csv')

#write.table(cl_df,file = 'TCGA_STAD_clinical_df.txt')#推薦

~~~

##1.2 #臨床數(shù)據(jù)整理#####

~~~R

colnames(cl_df)

cl_df_select<-as.data.frame(cl_df[,c(5,6,8,9,11,12,37,38)] )

#write.csv(cl_df_select,file = "cl_df_select.csv")

#cl_df_select <- read.csv(file = "cl_df_select.csv",header = T)

#View(cl_df_select)

#########對stage_event列分割######

cl_df_select_new<-tidyr::separate(cl_df_select,stage_event,into = c("stage","TMN"),sep="T")%>% separate(TMN, c('T', 'MN'), sep = 'N')%>% separate(MN, c('M', 'N'), sep = 'M')


#這兩項的TNM分期不清,去除####

cl_df_select_new <- cl_df_select_new[-c(68,389),]

#View(cl_df_select_new)

##刪除

{

cl_df_select_new<- cl_df_select_new[!cl_df_select_new[,7]=="7th",]

cl_df_select_new<- cl_df_select_new[!cl_df_select_new[,7]=="6th",]

cl_df_select_new<-tidyr::separate(cl_df_select_new,stage,into = c("th","stage"),sep="h")

cl_df_select_new<-cl_df_select_new

還有 91% 的精彩內(nèi)容
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
支付 ¥50.00 繼續(xù)閱讀

友情鏈接更多精彩內(nèi)容