我正在尝试对转录组数据运行MLSeq,当我尝试使用classify()函数时遇到了问题。
我正在使用MLSeq 2.0.1,主要遵循此软件包提供的教程。通过将数据分成测试和训练集,以及完全运行离散控件(),我可以一路走来。但是,当我尝试使用classify()函数时,出现以下错误: {中的错误: 任务1失败-“'x'必须是至少二维的数组”
我已经使用提供的子宫颈数据集完成了本教程,并且效果很好,所以我知道它的数据一定有问题。但是,我不知道可能是什么问题。我已经将我的数据文件与样本数据集的格式进行了比较,它看起来与我非常相似。我无所适从,我将非常感谢任何人可能提供的任何见识!
我的代码如下:
MergedCounts <-read.delim("../AllSamples.MultiCopyOrthogroups.MergedCounts.Norm.csv",
sep="\t", header=TRUE)
cts <- as.matrix(MergedCounts[,c(2:15)]) ##indicating rows that contain count data
storage.mode(cts) = "integer"
class <- DataFrame(condition = factor(rep(c("aenig","dail","nick"),c(5,3,6))))
set.seed(2128)
vars <- sort(apply(cts, 1, var, na.rm = TRUE), decreasing=TRUE)
data <- cts[names(vars)[1:100], ]
nTest <- ceiling(ncol(data) * 0.3)
ind <- sample(ncol(data), nTest, FALSE)
data.train <- as.matrix(data[ ,-ind] + 1)
data.test <- as.matrix(data[ ,ind] + 1)
classtr <- DataFrame(condition = class[-ind, ])
classts <- DataFrame(condition = class[ind, ])
data.trainS4 = DESeqDataSetFromMatrix(countData = data.train, colData = classtr,
design = formula(~condition))
data.testS4 = DESeqDataSetFromMatrix(countData = data.test, colData = classts,
design = formula(~condition))
ctrl.PLDA <- discreteControl(method="repeatedcv", number=30, repeats=10000, tunelength=100, parallel=TRUE)
fit.all.PLDA <- classify(data.trainS4, method="PLDA", preProcess="deseq-vst",
control=discreteControl(ctrl.PLDA))