用oncoPredict进行药物敏感性分析,出现如下报错,不知道原因是什么,是否与数据中有缺失值有关
> library(parallel)
> set.seed(12345)
> expFile="merge.txt" #?????????ļ?
> setwd("C:/Users/Desktop/40.oncoPredict")
> rt = read.table(expFile, header=T, sep="\t", check.names=F)
> rt=as.matrix(rt)
> rownames(rt)=rt[,1]
> exp=rt[,2:ncol(rt)]
> dimnames=list(rownames(exp), colnames(exp))
> data=matrix(as.numeric(as.matrix(exp)), nrow=nrow(exp), dimnames=dimnames)
> data=avereps(data)
> data=data[rowMeans(data)>0.5,]
> colnames(data)=gsub("(.*?)\\_(.*?)", "\\2", colnames(data))
> GDSC2_Expr=readRDS(file='GDSC2_Expr.rds')
> GDSC2_Res=readRDS(file = 'GDSC2_Res.rds')
> GDSC2_Res=exp(GDSC2_Res)
> calcPhenotype(trainingExprData = GDSC2_Expr,
+ trainingPtype = GDSC2_Res,
+ testExprData = data,
+ batchCorrect = 'eb',
+ powerTransformPhenotype = TRUE,
+ removeLowVaryingGenes = 0.2,
+ minNumSamples = 10,
+ printOutput = TRUE,
+ removeLowVaringGenesFrom = 'rawData')
10779 gene identifiers overlap between the supplied expression matrices...
Error in if (class(exprMatUnique) == "numeric") { :
the condition has length > 1
“Devil组”引证GPT后的撰写:
例如,你可以在 GDSC2_Expr 数据中使用以下代码来去除重复项:
GDSC2_Expr <- GDSC2_Expr[!duplicated(rownames(GDSC2_Expr)), ]
如果这个方法不能解决你的问题,你可以检查你的数据是否有其他问题。另外,你也可以尝试在函数中使用调试语句(例如 browser() 或 debug())来查找错误的来源。