簡體   English   中英

如何在 R 中的幾個模擬圖上應用 function

[英]how to apply a function on several simulated graphs in R

我需要在幾個模擬圖(例如分類)上的 function 的幾個結果的向量(或列表)。 這是為了模擬蒙特卡洛程序,使用隨機塊模型而不是 Erdos-Renyi 模型執行分離分析。 由於數據收集的設計,這允許區分兩種類型的參與者之間鏈接的概率,方法類似於條件統一圖。 我嘗試使用以下循環失敗:

library(igraph)
k <- cbind(c(.2,.2),c(.2,0))  # one block without data of its links 
attrib <- c(1,1,2,2,2,2,2,2,2,2,3,3,3,3,3,5,5,5,5,5,5,5,5,5,1,1,2,2,2,2,2,2,2,3,3,4,4,4,4,4,4,5,5,5,5,5,5,5,5)  # observed data attributes for each block

for(i in 1:1000) {
  sbm[i] <- sample_sbm(49, pref.matrix=k,block.sizes=c(24,25))
  sbm[i] <- set_vertex_attr(sbm[i], "att",value=attrib)
  sbm_ass[i] <- assortativity_nominal(sbm[i],V(sbm[i])$att,directed=F)
 }

我也嘗試過僅在最后一行使用 [i]:“sbm_ass[i]...”。 我想需要一個 function,但我一直無法實現。

我認為replicate是你可能需要的東西

sbm_ass <- replicate(
  1000,
  sample_sbm(49, pref.matrix = k, block.sizes = c(24, 25)) %>%
    set_vertex_attr(name = "att", value = attrib) %>%
    assortativity_nominal(V(.)$att, directed = F)
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM