首页 文章

“如果((v <1)||(v> n))返回(数字(0))时出错:缺少值需要TRUE / FALSE(ERROR FACED)

提问于
浏览
0

我正在尝试实现社交网络分析并且已经将数据排列成其中数据集具有3列的格式,其中第一列指示发送者,第二列指示接收者,第三列指示在两方之间发送的消息的强度 .

总而言之,如果我将来自2列的不同派对视为我网络中的节点,并尝试绘制关系(在2方之间发送的消息)作为边缘 .

所以我的数据看起来像(例如):A B C 123 456 7 345 346 10

发送方123已向第456方发送了7条消息,而第345方已向第346方发送了10条消息

所以我总共有4个不同的参与者,其中有2个边缘存在

现在在真正的问题中我有这样的(如上所述)3384个节点和3287个边缘

所以我初始化网络为net <-network.initialize(num_nodes)

当我启动net [edge_list] < - 1时,我面临错误:“if((v <1)||(v> n))中的错误返回(数字(0)):缺少值,其中需要TRUE / FALSE

如果能帮助解决这个错误,那将会很棒 .

1 回答

  • 0

    看起来您使用了错误的函数来创建边 . net[] 将网络称为邻接矩阵,并且您正在传入和边缘列表 . 假设您的edgelist是矩阵或data.frame之类的

    123 456 7 
    345 346 10
    

    然后你可以添加边缘,如:

    net <- addEdges(net, tail=edge_list[,1], head=edge_list[,2], names.eval='msg_count', vals.eval=edge_list[,3])
    

相关问题