我正在尝试使用我拥有的一些表达数据来建立关联网络,数据非常庞大: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'
非常感谢任何帮助。
答案 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
。