所以我对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'
我觉得它与因素论证有关,但我不确定究竟是什么。任何帮助将不胜感激 - 谢谢!
答案 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)