.subset(x,j)中的错误:无效的下标类型' list'

时间:2016-01-26 12:45:14

标签: r bioinformatics bioconductor

所以我对R来说很陌生,所以如果有人能帮助我,那就太棒了。

我正在使用一个名为NOISeq的程序,这是一个基于R的软件,可以检测许多因素之间的差异基因表达。我在表格中读到了一个如下所示的数据框:

            X10G48 X35Y87 X36W26 X23Y79 X2B84 X12Y30 X10B70 X10G87 X36W62
XLOC_000001     33     34     39     74    43     43     34     28     42
XLOC_000002     17     42     44     67    38     58     41     29     25
XLOC_000003      0      0      0      0     0      0      6      0      0
XLOC_000004      0      0      0      2     0      0     10      0      0
XLOC_000005     44     57     37     71    45     47     49     53     36
XLOC_000006     43     46     42     71    53     53     49     48     18
            X23Y70 X2UNA X12Y47 X10R99
XLOC_000001     82    38     28     23
XLOC_000002     58    53     28     27
XLOC_000003      0     0      0     12
XLOC_000004      0     0      4      2
XLOC_000005     47    67     48     39
XLOC_000006     53    61     37     26

该表按两个因素排序,因此10G48, 35Y87, 36W26, 23Y79, 2B84, 12Y30, 10B70都是条件1,而10G87, 36W62, 23Y70, 2UNA, 12Y47, 10R99都是条件2

我已经使用了代码:

library(NOISeq)
setwd("/home/user/edgeR")
data.frame <- read.table("nalphavbeta.txt", header=TRUE, sep='\t', row.names=1)
myfactors=data.frame(c(1,1,1,1,1,1,1,2,2,2,2,2,2))
sam<-readData(data=data.frame, factors=myfactors)
myRPKM = rpkm(assayData(sam)$exprs, k = 0, lc = 1)
head(myRPKM[, 1:4])
mynoiseqbio = noiseqbio(sam, k=0.5, norm="rpkm", factor=NULL, lc = 1, r = 20, adj = 1.5, plot = FALSE, a0per = 0.9, random.seed = 12345, filter = 2) 

但它返回错误

Error in .subset(x, j) : invalid subscript type 'list'

我觉得它与因素论证有关,但我不确定究竟是什么。任何帮助将不胜感激 - 谢谢!

1 个答案:

答案 0 :(得分:1)

问题解决了

我只需更改行

myfactors=data.frame(c(1,1,1,1,1,1,1,2,2,2,2,2,2))

myfactors=data.frame(caste= c(1,1,1,1,1,1,1,2,2,2,2,2,2))

即。给因子一个名称,然后将因子级别添加到函数

mynoiseqbio = noiseqbio(sam, k=0.5, norm="rpkm", factor=caste, lc = 1, r = 20, adj = 1.5, plot = FALSE, a0per = 0.9, random.seed = 12345, filter = 2)