我找不到这个问题的答案,所以我发布了解决方案,以防其他人也有同样的问题。
使用来自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)))并在必要时重命名这些行。
发布于 2016-01-23 00:54:18
“矩阵”的行名不能有重复项。使用以下命令检查
any(duplicated(rownames(matrix)))并在必要时重命名这些行。
发布于 2016-08-08 05:26:43
limma包lmFit()函数确实对基本chol2inv函数进行了多次调用。
在我的WindowsR3.2.5环境中更新了一些包之后,在将矩阵对象传递给lmFit()函数时,我这边也发生了类似的错误。安装R版本3.3.1 (同样是在Windows OS下)确实解决了这个问题:向lmFit() (Limma 3.26.9)传递一个矩阵对象确实如预期的那样返回了一个MArrayLM对象,chol2inv函数没有“抱怨”。
升级到R3.3.1“你头发上的虫子”有望解决其他lmFit()问题。
https://stackoverflow.com/questions/34951983
复制相似问题