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



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

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

> fit <- try(lmFit(matrix, design))
Error in chol2inv(fit$qr$qr, size = fit$qr$rank) : 
  'x' must be a square numeric matrix

这不是一个非常有用的错误消息,但问题很简单。"矩阵"的行名不能有任何重复项。检查这个

any(duplicated(rownames(matrix)))

并在必要时重命名行。

"矩阵"的行名不能有任何重复项。检查这个

any(duplicated(rownames(matrix)))

并在必要时重命名行。

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()问题。

最新更新