无法在Biparite包装中获得'plotweb'(R)

时间:2017-12-10 12:40:44

标签: r csv networking bipartite

我正在尝试使用R中的biparite包来可视化双极网络。我的数据由电子表格中的4列组成。列包含1)植物种类名称
2)蜂种名称
3)位点
4)相互作用频率。
我首先从CSV文件中将数据读入R,然后使用辅助函数frame2webs将其转换为Web。当我尝试使用plotweb()可视化网络时,我收到错误消息:

  

网页错误[rind,cind,drop = FALSE]:维数不正确

我的代码如下所示:

library(bipartite)
bee <- read.csv('TestFile.csv')
bees <- as.data.frame(bee)
BeeWeb <- frame2webs(bees, type.out = "array")
plotweb(BeeWeb)

我也试过了:

BeeWeb <- frame2webs(bees, 
          varnames = c("higher","lower","webID","freq"), 
          type.out = "array")

请帮忙!我是R的新手,正在努力做到这一点。干杯!

1 个答案:

答案 0 :(得分:0)

不确定您的数据是什么样子,但是当我在“较高”或“较低”列中只有一个因子水平,type.out为“列表”且emptylist为TRUE时,这会发生在我身上。

这是由于存在一个空问题,frame2webs仅在type.out为“ list”且emptylist为TRUE时才调用该函数。 empty使用NROW和NCOL查找数据的维,它们将单行输入解释为垂直向量。当“较低”或“较高”中只有一个因子水平时,为空的输入是一个单行数组。 empty将此行解释为一列,因此出现“尺寸错误”错误。

两个简单的解决方法:

  1. 将type.out设置为“数组”
  2. 将空列表设置为FALSE