WGCNA共享统计方法的名称空间

时间:2019-08-12 20:10:41

标签: r namespaces

我正在使用WGCNA包中的一个函数,该函数具有参数corType,该参数接受要运行的特定相关性的字符串输入。两种主要的相关方法是“皮尔森”和“ bicor”。当我运行函数时,当函数处理corType参数时出现错误。如果我运行“皮尔逊”,则会收到错误消息:

Error in (function(x, y - NULL, use = "everything", method = c("pearson", unused arguments (weights.x = NULL, weights.y = NULL,
cosine = FALSE)

如果我将corType作为“ bicor”运行该函数,则会收到错误消息:

Error in get(as.character(FUN), mode = "function", envir = envir) : 
  object 'bicor' of mode 'function' was not found

我在生物之星上进行了一些搜索,似乎WGCNA遇到了共享名称空间问题。一条旧帖子建议我执行以下两项操作之一:

  1. 重新启动R并仅在运行函数之前加载WGCNA程序包(这似乎很愚蠢,因为我一天可能会多次运行该函数。)
  2. 将cor命名空间设置为WGCNA(通过WGCNA::cor),然后将其重新设置为默认的stat包(通过stat::cor)。似乎更好,但可能仍然很笨拙。

下面,我尝试包含一个可重复性最低的示例以及我的R会话信息。可能需要提及的是,我正在构建一个程序包,因此当我在另一个函数中运行WGCNA函数时,而不是对每个程序包使用require()时,我将它们添加到DESCRIPTION中的导入中并调用这些软件包中使用foo::bar的函数。我在自己的R环境中运行了以下代码,并重复了这些错误。如果您需要进一步的安排,请告诉我。

cnames = c("GSM2886523", "GSM2886524", "GSM2886525", "GSM2886526", "GSM2886527")
test.expr.data <- matrix(c(0.1708434,-0.1129639,-0.09490149,-0.08757270,0.08918957, 
                           0.9866739,-1.0146009,-2.18310607,-1.92989284,-2.01153493, 
                           -0.1447803,0.2311808,-0.09179321,-0.16356002,-0.19043491, 
                           -0.2162092,0.2822163,0.06230056,-0.03903165,0.53407426, 
                           -0.2659731,0.1810084,0.02749196,-0.07015478,-0.07480163), 
                           nrow = 5, ncol = 5)
colnames(test.expr.data) <- cnames

wgcna_out = WGCNA::blockwiseModules(t(expr_data), power = 5, networkType = "signed", 
                                    corType = "pearson")
#Error in (function(x, y - NULL, use = "everything", method = c("pearson", unused arguments (weights.x = NULL, weights.y = NULL,
#cosine = FALSE)

wgcna_out = WGCNA::blockwiseModules(t(expr_data), power = 5, networkType = "signed", 
                                    corType = "bicor")
#Error in get(as.character(FUN), mode = "function", envir = envir) : 
#  object 'bicor' of mode 'function' was not found

我应该在每次运行此函数时先设置然后重设cor命名空间,还是有一种更优雅的方法来解决此问题?

R session info.

1 个答案:

答案 0 :(得分:1)

我知道这个问题;目前,我只是使用

cor=WGCNA::cor

在运行WGCNA代码之前。

我将不得不检查bicor问题,这不应该发生。