Skip to contents

The $ operator is a syntactic sugar to query and set the attributes of the vertices in a vertex sequence.

Usage

# S3 method for class 'igraph.vs'
x[[i]] <- value

# S3 method for class 'igraph.vs'
x[i] <- value

# S3 method for class 'igraph.vs'
x$name

# S3 method for class 'igraph.vs'
x$name <- value

V(x) <- value

Arguments

x

A vertex sequence. For V<- it is a graph.

i

Index.

value

New value of the attribute, for the vertices in the vertex sequence.

name

Name of the vertex attribute to query or set.

Value

A vector or list, containing the values of attribute name for the vertices in the vertex sequence. For numeric, character or logical attributes, it is a vector of the appropriate type, otherwise it is a list.

Details

The query form of $ is a shortcut for vertex_attr(), e.g. V(g)[idx]$attr is equivalent to vertex_attr(g, attr, V(g)[idx]).

The assignment form of $ is a shortcut for set_vertex_attr(), e.g. V(g)[idx]$attr <- value is equivalent to g <- set_vertex_attr(g, attr, V(g)[idx], value).

Examples

g <- make_(
  ring(10),
  with_vertex_(
    name = LETTERS[1:10],
    color = sample(1:2, 10, replace = TRUE)
  )
)
V(g)$name
#>  [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J"
V(g)$color
#>  [1] 2 2 1 1 1 1 2 1 1 2
V(g)$frame.color <- V(g)$color

# color vertices of the largest component
largest_comp <- function(graph) {
  cl <- components(graph)
  V(graph)[which.max(cl$csize) == cl$membership]
}
g <- sample_(
  gnp(100, 2 / 100),
  with_vertex_(size = 3, label = ""),
  with_graph_(layout = layout_with_fr)
)
giant_v <- largest_comp(g)
V(g)$color <- "blue"
V(g)[giant_v]$color <- "orange"
plot(g)