使用“时出错”;sva“;用R包装

使用“时出错”;sva“;用R包装,r,R,我在R中使用“sva”包来确定数据集中的代理变量。我有一个60000行8列的数据框(成绩单x样本)。该矩阵中的每个元素都是对应转录和样本的“TPM”(每个因子的转录本,一个数值)值。以下是我正在运行的代码: library(sva) library(Biobase) library(limma) data=read.table("mymatrix.txt") model = model.matrix(~Sample_1+Sample_2,data=data)

我在R中使用“sva”包来确定数据集中的代理变量。我有一个60000行8列的数据框(成绩单x样本)。该矩阵中的每个元素都是对应转录和样本的“TPM”(每个因子的转录本,一个数值)值。以下是我正在运行的代码:

   library(sva)
   library(Biobase)
   library(limma)

   data=read.table("mymatrix.txt")

   model  = model.matrix(~Sample_1+Sample_2,data=data)
   # NULL model
   model0 = model.matrix(~1,data=data) # no intercept

   # Run SVA
   svobj = sva(dat=data, mod=model, mod0=model0)
运行“sav()”函数后,会出现以下错误: H%*%t(dat)中出错:参数不一致

有人知道这是什么意思吗? 这是.txt文件的一个示例:

                          Sample_1    Sample_2    Sample_3      Sample_4 
    ENSMUST00000060336.4 2.10642e-01 1.29483e-01 2.58036e-01 1.59276e-01
    ENSMUST00000060345.5 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
    ENSMUST00000060348.2 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
    ENSMUST00000060356.5 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
    ENSMUST00000060357.8 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
在.txt文件中,所有的值都是“double”格式,但当我使用“read.table”读取文件时,它们会转换为“e”格式,这就是问题所在吗

在文本文件中:

                           Sample_1" "Sample_2"     "Sample_3"     "Sample_4"
    "ENSMUST00000000001.4" 18.7276    16.9755        12.138        20.0952 
    "ENSMUST00000000003.8" 0           0              0             0 
    "ENSMUST00000000010.8" 0           0              0             0 
    "ENSMUST00000000028.8" 0          0.427772       0.162408       0  
    "ENSMUST00000000033.6" 125.936    17.5017        21.3972        59.4235 

在发生此错误后,是否可以运行
traceback()
函数以查看错误发生的位置?另外,能否提供
mymatrix.txt
的内容?(如果它很长,你能创建一个有几行的例子来重现这个问题吗?)当然,这里有一个.txt文件的例子:你试过
model1=model.matrix(~age,data=batch)
model0=model.matrix(~1,data=batch)
,然后
svobj=sva(dat=data,mod=model1,mod0=model0)
?(请注意,您可能不想将6000x8表达式数据放入一个名为“model”的矩阵中,因为这会让您混淆它和实际模型)此时,我们需要查看您的数据。试试
str(x)
@user1080814这是一个统计问题,而不是编程问题:它表明数据中可能没有任何值得纠正的代理变量。(总的来说,假设您正确使用sva,这通常是个好消息)。顺便说一句,你真的应该研究未来的问题。