limma中的错误 - lmFit - chol2inv:' x'必须是方形数字矩阵

时间:2016-01-22 16:54:18

标签: r bioconductor

我无法找到答案,所以我发布解决方案以防其他人遇到同样的问题。

使用Bioconductor的limma包,我遇到以下错误:

any(duplicated(rownames(matrix)))

不是一个非常有用的错误消息,但问题很简单。你"矩阵"的rownames不能有任何重复。用

检查
any(duplicated(rownames(matrix)))

并在必要时重命名行。

2 个答案:

答案 0 :(得分:1)

你的"矩阵"的rownames不能有任何重复。用

检查
local d = tonumber(io.read()) or 0

并在必要时重命名行。

答案 1 :(得分:0)

limma包lmFit()函数确实会对基本chol2inv函数进行多次调用。

在我的Windows R3.2.5环境中更新了一些软件包后,在将矩阵对象传递给lmFit()函数时,我发生了类似的错误。安装R版本3.3.1(再次在Windows操作系统下)确实解决了这个问题:将矩阵对象传递给lmFit()(Limma 3.26.9)确实按预期返回MArrayLM个对象,没有“抱怨”来自chol2inv函数。

升级到R 3.3.1“头发中的错误”可能有望解决其他lmFit()问题。