解释这段代码 #select samples which are common to clinical file 选择临床文件中常见的样本 for (i in cancer_types){ colname_slice(str_c(dir,'\\tcga_data\\',i,'\\normalized_rna.csv'),1,12) #cut colnames colname_slice(str_c(dir,'\\tcga_data\\',i,'\\normalized_mi.csv'),1,12) } pb <- progress_bar$new(total = length(cancer_types)) for (i in cancer_types){ #intersect rna and clinical df<-read.csv(str_c(dir,'\\tcga_data\\',i,'\\normalized_rna.csv'),row.names = 1, check.names = F) df<-df[,!duplicated(colnames(df))] clinic<-read.csv(str_c(dir,'\\tcga_data\\',i,'\\TCGA-',i,'-clinical.csv'),row.names = 1, check.names = F) inter<-intersect(colnames(df),clinic[,1]) df<-df[,colnames(df)%in%inter] write.csv(df,str_c(dir,'\\tcga_data\\',i,'\\normalized_rna.csv'),quote = F) #intersect miRNA and clinical df<-read.csv(str_c(dir,'\\tcga_data\\',i,'\\normalized_mi.csv'),row.names = 1, check.names = F) df<-df[,!duplicated(colnames(df))] inter<-intersect(colnames(df),clinic[,1]) df<-df[,colnames(df)%in%inter] write.csv(df,str_c(dir,'\\tcga_data\\',i,'\\normalized_mi.csv'),quote = F) clinic<-clinic[clinic[,1]%in%inter,] write.csv(clinic,str_c(dir,'\\tcga_data\\',i,'\\TCGA-',i,'-clinical.csv'),quote = F) pb$tick() } rm(df,clinic,inter,dt)
时间: 2023-12-02 09:03:30 浏览: 70
这代码是用于选择临床文件中常见的样,并进行相应的数据处理和保存。
首,代码使用一个循环变量 `i`遍历 `cancer_types` 列表中的每个元素。
接下来,代码调用 `colname_slice()` 函数,传入文件路径参数来截取名为 `normalized_rna.csv` 的文件的列名,并保留第1到第12列。
然后,代码再次调用 `colname_slice()` 函数,传入文件路径参数来截取名为 `normalized_mi.csv` 的文件的列名,并保留第1到第12列。
接下来,代码创建一个进度条对象 `pb`,用于显示处理进度。
然后,代码再次使用循环变量 `i` 遍历 `cancer_types` 列表中的每个元素。
在循环内部,代码首先读取名为 `normalized_rna.csv` 的文件,并将其存储在一个数据框 `df` 中。然后,去除重复的列名,并与名为 `TCGA-[cancer_type]-clinical.csv` 的临床文件的第一列进行交集操作,得到交集结果存储在 `inter` 中。接着,从数据框 `df` 中筛选出与交集结果匹配的列,并将结果重新写入名为 `normalized_rna.csv` 的文件中。
接下来,代码读取名为 `normalized_mi.csv` 的文件,并将其存储在一个数据框 `df` 中。然后,去除重复的列名,并与名为 `TCGA-[cancer_type]-clinical.csv` 的临床文件的第一列进行交集操作,得到交集结果存储在 `inter` 中。接着,从数据框 `df` 中筛选出与交集结果匹配的列,并将结果重新写入名为 `normalized_mi.csv` 的文件中。
然后,代码从临床文件 `clinic` 中筛选出与交集结果匹配的行,并将结果重新写入名为 `TCGA-[cancer_type]-clinical.csv` 的文件中。
最后,代码使用 `pb$tick()` 方法更新进度条,表示完成了一个循环。
在代码的最后,使用 `rm()` 函数清除不再需要的对象 `df`、`clinic`、`inter` 和 `dt`。
阅读全文