R: Query or set attributes of the vertices in a vertex sequence

igraph-vs-attributes {igraph} | R Documentation

## Query or set attributes of the vertices in a vertex sequence

### Description

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

### Usage

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

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

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

    ## S3 replacement 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.

### 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)`.

### 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.

### See Also

Other vertex and edge sequences: `E`, `V`, `igraph-es-attributes`, `igraph-es-indexing2`, `igraph-es-indexing`, `igraph-vs-indexing2`, `igraph-vs-indexing`, `print.igraph.es`, `print.igraph.vs`

Other graph attributes: `delete_edge_attr`, `delete_graph_attr`, `delete_vertex_attr`, `edge_attr<-`, `edge_attr_names`, `edge_attr`, `graph_attr<-`, `graph_attr_names`, `graph_attr`, `igraph-dollar`, `set_edge_attr`, `set_graph_attr`, `set_vertex_attr`, `vertex_attr<-`, `vertex_attr_names`, `vertex_attr`

### Examples

    g <- make_(ring(10),
      with_vertex_(
        name = LETTERS[1:10],
        color = sample(1:2, 10, replace=TRUE)
      )
    )
    V(g)$name
    V(g)$color
    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)

[Package igraph version 1.2.4.1 Index]