R错误中的Make_network错误 - " veg_distance"不适用于.C()for package" vegan"

时间:2018-04-17 16:12:23

标签: r vegan

我从" vegan"运行make_work时遇到错误R包:

net <- make_network(ps)

Error in .C("veg_distance", x = as.double(x), nr = N, nc = ncol(x), d = double(N *  : 
"veg_distance" not available for .C() for package "vegan"

这是我的sesion信息:

R version 3.4.4 (2018-03-15)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

Matrix products: default
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] vegan_2.5-1             lattice_0.20-35         permute_0.9-4          
[4] phyloseqGraphTest_0.0.1 ggplot2_2.2.1           phyloseq_1.22.3 

我已经看到与此错误相关的其他案例,建议卸载并重新安装素食主义者,因此我做了(因此最近更新了包),但无济于事。

4 个答案:

答案 0 :(得分:1)

这很可能是 phyloseq 素食主义者内部交互的问题 - 至少在素食主义者中报告过类似的问题在github中的 phyloseq 。替代方案似乎是:

  1. 您可以尝试在素食主义 2.5-1更新后帮助重新安装 phyloseq (到同一版本):似乎 phyloseq 在安装或构建时保存素食主义功能(我不知道),即使素食主义者发生变化,也会使用该私有版本。
  2. 纯素降级为2.4-6,这是旧内部的最新版本(也用于 phyloseq )。
  3. 等到问题在 phyloseq 中修复。
  4. 如果可能的话,试着找到解决问题的方法。

答案 1 :(得分:0)

我有同样的问题(来自phyloseq,ordinate()的另一个函数),并认为我让它工作。人们非常详细地讨论了它:https://github.com/joey711/phyloseq/issues/921。在上面链接的页面上阅读了cjfields的建议之后,我将离开这里对我有用的东西。

# First get stringi straight
install.packages("stringi", configure.args="--disable-pkg-config")
library(stringi)
packageVersion("stringi")
# Vegan
install.packages("vegan")
library(vegan)
packageVersion('vegan') #should be 2.5-1 (or more recent, if someone reads this later)
# Phyloseq. Install the latest version from github (the version on other repos may still have the bug)
library("devtools")
install_github("joey711/phyloseq")
library(phyloseq)
packageVersion('phyloseq')

在此之前,我尝试降级素食主义者并再次安装phyloseq,但没有成功。

答案 2 :(得分:0)

从github安装phyloseq。它解决了这个问题。

library("devtools")

install_github("joey711/phyloseq")

packageVersion('phyloseq')

[1]'1.23.1'

答案 3 :(得分:0)

我不知道那个R版本,但是对于R 3.3.3,我降级到纯素食主义者2.4.2,这解决了它。我还需要降级到猿4.0,以使其与较旧的phyloseq不兼容。由于需要生物仿制药0.22,因此无法使用devtools升级phyloseq。