r-limma在单通道微阵列中进行了适当的对比



我有一个微阵列数据集,我已经标记了数据,使其看起来像这样:

[9967] piRNA          piRNA          piRNA          piRNA          piRNA          tiRNA         
[9973] piRNA          piRNA          piRNA          piRNA          piRNA          tiRNA         
[9979] snoRNA          snoRNA          snoRNA          snoRNA          snoRNA          snoRNA         
[9985] tiRNA          tiRNA          tiRNA          tiRNA          tiRNA          tiRNA         
[9991] tiRNA          tiRNA          tiRNA          tiRNA          tiRNA          tiRNA         
[9997] tiRNA          tiRNA          tiRNA          tiRNA     

所以基本上,我在一个单通道微阵列中有一堆不同的探针类型,我想做一个对比,看看哪些是DE。

我试着这样做如下:

design<-factor(levels(probe.type1))
design<-model.matrix(~0+design)
dim(design)
dim(E.ncRNA1)
subE.ncRNA1<-E.ncRNA1[ ,1:12]
fit<-lmFit(subE.ncRNA1, design)
contrast.matrix <- makeContrasts(levels=design)
trying <- contrasts.fit(fit, contrast.matrix)
try <- eBayes(trying)
try<-eBayes(trying)
volcanoplot(trying)

问题发生在我试图进行对比的地方:

contrast.matrix <- makeContrasts(pivsmi=piRNA-miRNA, levels=design)

makeContrasts中的错误(pivsmi=piRNA-miRNA,水平=设计):级别必须使用R中语法有效的名称,请参阅帮助(make.names)。无效名称:设计推定miRNA、设计子scRNA、设计库RNA

有人能告诉我我做错了什么吗?

在R中,语法有效的名称由字母、数字和点或下划线组成,以字母或点开头,后面不跟数字。

您的级别(designputative miRNAdesignsub scRNAdesignvault RNA)包含空格,因此在语法上无效。

为了使您的级别在语法上有效,请选择

  • 将级别中的空格替换为下划线,或
  • 在您的级别上调用make.names,它会自动用句点替换空格:
    makeContrasts(pivsmi = piRNA - miRNA, levels = make.names(design, unique=TRUE))unique=TRUE断言生成的元素是唯一的,这是列名所需要的

最新更新