在R语言statnet包的ergm中设置种子数时遇报错求助
在ergm中设置种子时出现"object 'name' not found"错误的解决方法
问题描述
我尝试在ergm模型中设置种子数以确保网络分析结果可复现,运行以下R代码:
main_sup <- ergm(supnet ~ edges + nodefactor("work") + nodefactor("income") + nodefactor("edu") + nodefactor("religious") + nodefactor("gender") + nodecov("age") + edgecov(kin_sup,"kinweight"), control.ergm(seed = 567))
执行后触发错误:
Error in eval(e, parent.frame()) : object 'name' not found
错误原因与解决方法
这个错误并非种子参数设置导致,而是edgecov函数的语法使用错误。edgecov的标准用法只需传入协变量矩阵名称,不需要额外指定类似"kinweight"的参数名——你可能混淆了其他相关函数的参数格式。
修正后的代码:
main_sup <- ergm(supnet ~ edges + nodefactor("work") + nodefactor("income") + nodefactor("edu") + nodefactor("religious") + nodefactor("gender") + nodecov("age") + edgecov(kin_sup), control.ergm(seed = 567))
补充说明
- 若需要为
edgecov的协变量设置权重,请提前将权重整合到kin_sup矩阵中,确保它是与目标网络supnet结构匹配的加权邻接矩阵。 - 你设置的种子参数
seed = 567本身是正确的,修正语法后即可实现结果的可复现。
内容的提问来源于stack exchange,提问作者cccbc
相关产品推荐
相关产品推荐

