问题描述
作为本学期研究的一部分,我将添加到以前学生已经建立的网络上,但我遇到了以前从未遇到过的错误。这段代码不是我写的,我只是在前进的过程中稍微修改了一下。
所以我有一个包含 85953 个数据帧的列表 daily_networks_df
,每个数据帧看起来像这样:
generate_el <- function(net_df){
networki = net_df[,1]
if(length(networki)>1){
# add edge in all possible pairs with prob_interact[i]
prob_interact=1/sqrt(length(networki))
ppl_pairs = combn(networki,2)
tmp1 = rbinom(ncol(ppl_pairs),1,prob_interact)
el_tmp = t(ppl_pairs[,tmp1==1])
return(el_tmp)
}
}
上面的这个函数针对 3 种不同的网络类型做了一些修改,但其他 2 种非常相似,所以我没有包括在内。这是函数调用:
# DEMAND NETWORK
work_start = 2
list_el1 = lapply(daily_networks_df[1:work_start],generate_el)
gr_el1 = do.call('rbind',list_el1)
# WORK NETWORK
prob_interact = .4
list_el2 = lapply(daily_networks_df[(work_start+1):homes_start],generate_el_work)
gr_el2 = do.call('rbind',list_el2)
# HOME NETWORK
prob_interact = .8
list_el3 = lapply(daily_networks_df[(homes_start+1):length(daily_networks_df)],generate_el_homes)
gr_el3 = do.call('rbind',list_el3)
# FULL NETWORK
gr_el=rbind(gr_el1,gr_el2,gr_el3)
gr = graph_from_data_frame(gr_el,directed=FALSE,vertices=total_pop)
当我尝试执行但不知道为什么时出现此错误。有什么帮助吗?
> gr = graph_from_data_frame(gr_el,vertices=total_pop)
Error in make_empty_graph(n = 0,directed = directed) :
VECTOR_ELT() can only be applied to a 'list',not a 'closure'
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)