MLSeq分类函数错误“'x'必须是至少二维的数组”

时间:2019-04-03 16:28:40

标签: r machine-learning

我正在尝试对转录组数据运行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))

0 个答案:

没有答案