以项目的方式管理R代码和文件,可以很大程度规避 1)工作路径不对,2)找不到文件 ,3)代码和文件不对应 ,等常见的问题。 RStudio是一款流行的R语言IDE(开发者集成环境),在安装Rstudio之前一定要先安装R软件,本文简单的介绍如何使用Rstudio进行项目管理。 一 项目式管理代码 数据 1.1 新建New Project打开Rstudio,点击左上角箭头所示的位置,选择New Directory,选择New Project (或者File --- New Project --- New Directory --- New Project) 1.2 设置路径点击 Browse 设置项目路径,然后填写工作路径,可以选择是否打开一个新的session 1.3 新建R script然后点击Rstudio左上角的+,选择 R script ,,(R Markdown 和 R Presentation后面会介绍) 以上,就新建了一个项目。 二 数据读取 存储 数据分析当然首先需要数据,之前的推文中用到了几种,比如
2.1 读取表达数据并转换Ensembl_IDTCGA数据挖掘 | Xena - TCGA数据下载分享的是下载乳腺癌的数据,此处换为LAML,下载方式一样! 为啥?因为LAML样本少,读取快 ̄□ ̄||! 1 )读取表达量数据rm(list = ls()) #一键清空#载入R包 library(openxlsx) library(tidyverse) #读取表达量数据 TCGA-LAML.htseq_counts.tsv fpkm <- read.table("TCGA-LAML.htseq_counts.tsv",sep = "\t" , header = T, #row.names = "Ensembl_ID", stringsAsFactors = FALSE , check.names = FALSE) fpkm[1:4,1:4] 一些常用参数选项:
需要注意列名,不设置`check.names`的话, 1 会变成 “X1” ,TCGA-AB-2949-03B会变成“TCGA.AB.2949.03B”,一些不识别的符号(如空格,%,#等)也会自动变化,需要特别注意。 2)读取probeMap文件,转换Ensembl_ID下载表达矩阵的时候,记得下载对应的probeMap文件,方便将Ensembl_ID转为常见的基因symbol。 #gencode.v22.annotation.gene.probeMapprobeMap <- read.table("gencode.v22.annotation.gene.probeMap",sep = "\t" , header = T, stringsAsFactors = FALSE , check.names = FALSE) probeMap[1:4,1:4] expr <- fpkm %>% inner_join(probeMap, by = c("Ensembl_ID" = "id")) %>% select(gene , starts_with("TCGA") ) gene TCGA-AB-2949-03B TCGA-AB-2918-03A TCGA-AB-2943-03A 1 TSPAN6 5.129283 3.700440 5.209453 2 TNMD 1.000000 1.000000 0.000000 3 DPM1 9.972980 9.885696 9.868823 4 SCYL3 9.980140 10.052568 10.965784 详细的用法可查看: Tidyverse| XX_join :多个数据表(文件)之间的各种连接 盘一盘Tidyverse| 筛行选列之select,玩转列操作 3. 处理临床和随访数据注意临床数据和随访数据分开的! #临床数据cli <- read.table("TCGA-LAML.GDC_phenotype.tsv", header = T,sep = "\t" , stringsAsFactors = FALSE) cli[1:4,1:4] #随访数据 surv <- read.table("TCGA-LAML.survival.tsv", header = T, stringsAsFactors = FALSE) surv[1:4,1:4] #结合,提取部分列 cli_surv <- cli %>% inner_join(surv,by = c("submitter_id.samples" = "sample")) %>% select(submitter_id.samples,age_at_index.demographic,gender.demographic, tumor_grade.diagnoses,tumor_stage.diagnoses,OS,OS.time) head(cli_surv) 4. 数据保存之 write和save
write.csv(cli_surv,"1-cli_surv.csv",row.names = FALSE) write.table(cli_surv,"1-cli_surv.txt",row.names = FALSE) save(expr,cli,surv,cli_surv ,file = "Step1_data_join.RData") #load("Step1_data_join.RData") 使用R Project 管理代码和数据,加上详细的注释,可以大大减少后面找数据,分析代码的时间! PS:大家可以点一点哈 【觉得不错,右下角点个“在看”,期待您的转发,谢谢!】
|
|