分析TCGA数据的时候,用一个函数来把表格里的肿瘤样本整理在前面,可是运行时一直报错有缺失值,表格里没有缺失
library(stringr)
##处理barcode
DLbarcode <- function(barcode){ #处理TCGA病人的barcode,返回一个排序后的向量
TumorBarcode <- c() #记录肿瘤样本的barcode
NormalBarcode <- c()#记录正常样本的barcode
for (id in barcode) {
ids <- str_split(id,'-',simplify = T)[4]
ids <- as.numeric(substr(ids,1,1))
if(ids == 0){
TumorBarcode <- c(TumorBarcode,id)
}else if (ids == 1) {
NormalBarcode <-c(NormalBarcode,id)
}
}
print(paste0("正常样本数:",length(NormalBarcode)))
print(paste0("肿瘤样本数:",length(TumorBarcode)))
print("正常样本在前,肿瘤样本再后")
return(list(sortBarcode=c(NormalBarcode,TumorBarcode),
Norm = length(NormalBarcode),
Tumm = length(TumorBarcode)))
barcodeSort <- DLbarcode(colnames(counts))
Error in if (ids == 0) { : missing value where TRUE/FALSE needed