问题遇到的现象和发生背景
分析TCGA数据的时候,用一个函数来把表格里的肿瘤样本整理在前面,可是运行时一直报错有缺失值,表格里没有缺失
问题相关代码,请勿粘贴截图
library(stringr)
##处理barcode
DLbarcode <- function(barcode){ #处理TCGA病人的barcode,返回一个排序后的向量
TumorBarcode <- c() #记录肿瘤样本的barcodeNormalBarcode <- c()#记录正常样本的barcodefor (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