使用lapply在R

问题描述

我有一组代表5位演讲者的词汇知识的网络。每个发言人都被录制了多次,并且总共有93个网络,大小各不相同。我已经使用lapply()为93个网络中的每个网络生成了平均路径长度和平均度(k)的数据。该数据的摘要如下所示

 head(df1)

   # A tibble: 6 x 7
   Speaker   session path_length mean_k vocab_size subj_session
   <chr>   <dbl>           <dbl>  <dbl>       <int> <chr>       
 1 Alex       16            1.07    6.5          7 Alex_16     
 2 Alex       17            1.04    8.6          9 Alex_17     
 3 Alex       18            1.1     3.6          4 Alex_18     
 4 Alex       19            1.19   27.5         34 Alex_19     
 5 Alex       20            1.25   35.8         47 Alex_20     
 6 Alex       21            1.15   35.9         42 Alex_21  

我现在正尝试使用Watts-Strogatz方法基于这些真实数据生成随机的小世界网络图。对于上面的小标题的第1行,我在igraph中执行此操作的代码是sample_smallworld(1,7,6.5,0.05,loops = FALSE,multiple = FALSE),其中7是网络中的节点数,而6.5是平均度。有了这些数据后,我将使用mean_distance()来计算数据的平均路径长度。

我尝试使用lapply()在我的数据的93个项目中运行它:

 library(igraph)

 sample <- lapply(df1,FUN = function(element) {
   element <- as.data.frame(element)
   size <- element$vocab_size
   nei <- element$mean_k
   smallworldnetwork <- sample_smallworld(1,size,nei,multiple = FALSE)
   output <- mean_distance(smallworldnetwork,directed = F)
   })

但是,我收到以下错误消息:

sample_smallworld(1,size + 1,nei,0.05,循环= FALSE,多个= FALSE)中的错误: 在games.c:2963上:WS游戏:点阵大小至少应为1,值无效

我对lappy()并不陌生,因此代码可能只是一个错误,但是通过反复试验,我得到sample_smallworld()不会采用非数字值的印象邻里大小,我想不出办法解决这个问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...