# Is this a correct way to create an igraph object?

I am trying to generate a random network with preferential attachment. Here is the code:

``````library(purrr)
library(igraph)

get_random_integer = function(value) {
result = floor(runif(1, min=1, max=value))

return (result)
}

result = floor(runif(1, min=1, max=maxVal))

}

to_vector = function(listVar) {

return (unlist(listVar, use.names=FALSE))
}

set_initial_edges = function() {
loop = rep(1:4, each = 2)
vertices = c(loop[-1], loop[1])

return (vertices)
}

create_graph_data = function(start, end, gamma) {
l = list()
m = list(1,2,3,4)

for (i in seq(start,end)) {
p = rbernoulli(1, p = gamma)

if (p) {
x = get_random_integer(i)

} else {
}

l = append(list(i,x), l)
m = append(list(x), m)
}

data = to_vector(l)

return (data)
}

generate_graph = function(end) {
gamma = 0.5   # the probability of choosing a link at random among all the pages
initial_vertices = 4   # the number of vertices of the initial graph
initial_edges = set_initial_edges()   # the edges of the initial graph
start = initial_vertices + 1    # the starting value of the interval
increment = end - start + 1   # the number of vertices to add to the initial graph
data = create_graph_data(start, end, gamma)   # creates an edge for each                     additional vertex

grph <- make_empty_graph() %>%          # initialize an empty graph

return (grph)
}

a = generate_graph(10000)

plot(a,edge.width=1,edge.arrow.size=0.1,vertex.size=1,vertex.label.cex=0.1)
``````

I know this is not the most straightforward way, I should have probably used an adjacency matrix, but anywayâ€¦

every object is created as follows, see the second-to-last line of the code above:

``````       a = generate_graph(10000)
``````

where the parameter, 10000, is the number of nodes to be added to the graph.

I was able to do almost anything with such graphs, but I have encountered a problem: if I use igraph methods like transitivity or vertex_connectivity, the result is always zero, regardless of the dimension size of the graph.
Is this happening because of a property of the model I am building, or the way I am building the igraph objects is wrong?

Many thanks