复制过程的结果错误
error with the result of a replication procedure
我在执行以下过程时遇到问题:
library(igraph)
k <- cbind(c(.2,.2),c(.2,0))
sbm_centr <- replicate(
2000,
sample_sbm(49, pref.matrix = k, block.sizes = c(24, 25)) %>%
centr_degree(.)$centralization
)
问题是该函数生成的结果带有两个参数(除了每个复制的 ID 之外),因此该过程报告错误:Error in .$centr_degree( .) : 传递给 '$' 的 3 个参数需要 2"
我尝试使用以下表达式保存其中一个参数,但未成功:centr_degree(.)$centralization[1])
但列表只包含 0。预先感谢您的意见。
用{}
屏蔽代码
library(dplyr)
library(igraph)
library(purrr)
sbm_centr <- replicate(
2000,
sample_sbm(49, pref.matrix = k, block.sizes = c(24, 25)) %>%
{centr_degree(.)$centralization}
)
或在 pluck
的管道中使用列表元素提取
sbm_centr <- replicate(2000,
sample_sbm(49, pref.matrix = k, block.sizes = c(24, 25)) %>%
centr_degree(.) %>%
pluck("centralization"))
-输出
> str(sbm_centr)
num [1:2000] 0.158 0.188 0.128 0.153 0.165 ...
我们可以像下面这样在管道中使用[[
sbm_centr <- replicate(
1,
sample_sbm(49, pref.matrix = k, block.sizes = c(24, 25)) %>%
centr_degree(.) %>%
`[[`("centralization")
)
我在执行以下过程时遇到问题:
library(igraph)
k <- cbind(c(.2,.2),c(.2,0))
sbm_centr <- replicate(
2000,
sample_sbm(49, pref.matrix = k, block.sizes = c(24, 25)) %>%
centr_degree(.)$centralization
)
问题是该函数生成的结果带有两个参数(除了每个复制的 ID 之外),因此该过程报告错误:Error in .$centr_degree( .) : 传递给 '$' 的 3 个参数需要 2"
我尝试使用以下表达式保存其中一个参数,但未成功:centr_degree(.)$centralization[1])
但列表只包含 0。预先感谢您的意见。
用{}
library(dplyr)
library(igraph)
library(purrr)
sbm_centr <- replicate(
2000,
sample_sbm(49, pref.matrix = k, block.sizes = c(24, 25)) %>%
{centr_degree(.)$centralization}
)
或在 pluck
sbm_centr <- replicate(2000,
sample_sbm(49, pref.matrix = k, block.sizes = c(24, 25)) %>%
centr_degree(.) %>%
pluck("centralization"))
-输出
> str(sbm_centr)
num [1:2000] 0.158 0.188 0.128 0.153 0.165 ...
我们可以像下面这样在管道中使用[[
sbm_centr <- replicate(
1,
sample_sbm(49, pref.matrix = k, block.sizes = c(24, 25)) %>%
centr_degree(.) %>%
`[[`("centralization")
)