我正在尝试使用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的新手,正在努力做到这一点。干杯!
答案 0 :(得分:0)
不确定您的数据是什么样子,但是当我在“较高”或“较低”列中只有一个因子水平,type.out为“列表”且emptylist为TRUE时,这会发生在我身上。
这是由于存在一个空问题,frame2webs仅在type.out为“ list”且emptylist为TRUE时才调用该函数。 empty使用NROW和NCOL查找数据的维,它们将单行输入解释为垂直向量。当“较低”或“较高”中只有一个因子水平时,为空的输入是一个单行数组。 empty将此行解释为一列,因此出现“尺寸错误”错误。
两个简单的解决方法: