创建多个以 pa.exp 为增量的优惠依恋图
create multiple prefential attachment igraphs with increments on pa.exp
到目前为止,我正在尝试创建多个 igraph,但我只有:
`
set.seed(1)
gs <- list()
for (x in seq_len(100L)) {
gs[[x]] <- sample_pa_age(10000, pa.exp=1.05, aging.exp=0.0, aging.bin=1000)
E(gs[[x]])$weight <- sample(1:5, ecount(gs[[x]]), T)
}
plot(gs[[1]], edge.width = E(gs[[1]])$weight) # plot first graph
`
但我想要做的是将 pa.exp 从 =1 更改为 =3,增量为 .05.,生成多个图形。怎么办?
使用 for 循环:
pa <- seq(1, 3, 0.05)
gs <- vector("list", length(pa))
i <- 1
for(x in pa){
gs[[i]] <- sample_pa_age(10000, pa.exp=x, aging.exp=0.0, aging.bin=1000)
E(gs[[i]])$weight <- sample(1:5, 9999, T)
i <- i+1
}
或者,您可以使用 lapply,这样您就不必事先创建列表:
my_graph <- function(x, n=10000){
g <- sample_pa_age(n, pa.exp=x, aging.exp=0.0, aging.bin=1000)
E(g)$weight <- sample(1:5, n-1, T)
return(g)
}
gs <- lapply(seq(1, 3, 0.05), my_graph)
到目前为止,我正在尝试创建多个 igraph,但我只有: `
set.seed(1)
gs <- list()
for (x in seq_len(100L)) {
gs[[x]] <- sample_pa_age(10000, pa.exp=1.05, aging.exp=0.0, aging.bin=1000)
E(gs[[x]])$weight <- sample(1:5, ecount(gs[[x]]), T)
}
plot(gs[[1]], edge.width = E(gs[[1]])$weight) # plot first graph
` 但我想要做的是将 pa.exp 从 =1 更改为 =3,增量为 .05.,生成多个图形。怎么办?
使用 for 循环:
pa <- seq(1, 3, 0.05)
gs <- vector("list", length(pa))
i <- 1
for(x in pa){
gs[[i]] <- sample_pa_age(10000, pa.exp=x, aging.exp=0.0, aging.bin=1000)
E(gs[[i]])$weight <- sample(1:5, 9999, T)
i <- i+1
}
或者,您可以使用 lapply,这样您就不必事先创建列表:
my_graph <- function(x, n=10000){
g <- sample_pa_age(n, pa.exp=x, aging.exp=0.0, aging.bin=1000)
E(g)$weight <- sample(1:5, n-1, T)
return(g)
}
gs <- lapply(seq(1, 3, 0.05), my_graph)