标准“星星”时巨大R包中的错误

时间:2015-05-13 22:25:30

标签: r

我正在尝试使用我拥有的一些表达数据来建立关联网络,数据非常庞大:300个样本和~30,000个基因。我想使用huge R包将高斯图形模型应用于我的数据。

以下是我正在使用的代码

dim(data)
#[1] 317 32291

huge.out <- huge.npn(data)
huge.stars <- huge.select(huge.out, criterion="stars")

然而,在最后一步中,我收到了一个错误:

Error in cor(x) : ling....in progress:10% 
Missing values present in input variable 'x'. Consider using use = 'pairwise.complete.obs'

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

你今天在Rhelp上发布了这个确切的问题。 SO和Rhelp都不赞成交叉发布,但如果你确实选择转换场地,那么至少要有礼貌地告知读者。

您回复了此处的建议,即您的数据对象中缺少名为&#39;数据&#39;声称没有遗漏数据。那么这段代码会返回什么:

lapply(data , function(x) sum(is.na(x)))

这将是第一级检查,但是也可能存在由后续步骤引起的错误,该错误在矩阵中的相关系数矩阵中遇到缺失值&lt; huge.out&#34;。如果存在以下情况,则可能发生这种情况:a)计算中的无穷大或b)如果其中一列是常数:

> cor(c(1:10,Inf), 1:11)
[1] NaN
> cor(rep(2,7), rep(2,7))
[1] NA
Warning message:
In cor(rep(2, 7), rep(2, 7)) : the standard deviation is zero

所以接下来的检查是:

sum( is.na(huge.out) )

这至少会为你提供一些基础来捍卫你没有错过的主张,并且还会给你一个关于错误来源的合理理论。要找到一个完全不变的列,你可能会做这样的事情(假设它是一个数据帧):

 which(sapply(sapply(data, unique), length) > 1)

如果它是矩阵,则需要使用apply