Last data update: 2014.03.03

R: addEdge
addEdgeR Documentation

addEdge

Description

A function to add an edge to a graph.

Usage

addEdge(from, to, graph, weights)

Arguments

from

The node the edge starts at

to

The node the edge goes to.

graph

The graph that the edge is being added to.

weights

A vector of weights, one for each edge.

Details

Both from and to can be vectors. They need not be the same length (if not the standard rules for replicating the shorter one are used). Edges are added to the graph between the supplied nodes.

The weights are given for each edge.

The implementation is a bit too oriented towards the graphNEL class and will likely change in the next release to accomodate more general graph classes.

If the graph is undirected then the edge is bidirectional (and only needs to be added once). For directed graphs the edge is directional.

Value

A new instance of a graph object with the same class as graph but with the indicated edges added.

Author(s)

R. Gentleman

See Also

addNode,removeEdge, removeNode

Examples

V <- LETTERS[1:4]
edL2 <- vector("list", length=4)
names(edL2) <- V
for(i in 1:4)
  edL2[[i]] <- list(edges=c(2,1,2,1)[i], weights=sqrt(i))
gR2 <- graphNEL(nodes=V, edgeL=edL2, edgemode="directed")

gX <- addEdge("A", "C", gR2, 1)

gR3 <- randomEGraph(letters[10:14], .4)
gY <- addEdge("n", "l", gR3, 1)

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(graph)
Loading required package: BiocGenerics
Loading required package: parallel

Attaching package: 'BiocGenerics'

The following objects are masked from 'package:parallel':

    clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
    clusterExport, clusterMap, parApply, parCapply, parLapply,
    parLapplyLB, parRapply, parSapply, parSapplyLB

The following objects are masked from 'package:stats':

    IQR, mad, xtabs

The following objects are masked from 'package:base':

    Filter, Find, Map, Position, Reduce, anyDuplicated, append,
    as.data.frame, cbind, colnames, do.call, duplicated, eval, evalq,
    get, grep, grepl, intersect, is.unsorted, lapply, lengths, mapply,
    match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank,
    rbind, rownames, sapply, setdiff, sort, table, tapply, union,
    unique, unsplit

> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/graph/addEdge.Rd_%03d_medium.png", width=480, height=480)
> ### Name: addEdge
> ### Title: addEdge
> ### Aliases: addEdge
> ### Keywords: manip
> 
> ### ** Examples
> 
> V <- LETTERS[1:4]
> edL2 <- vector("list", length=4)
> names(edL2) <- V
> for(i in 1:4)
+   edL2[[i]] <- list(edges=c(2,1,2,1)[i], weights=sqrt(i))
> gR2 <- graphNEL(nodes=V, edgeL=edL2, edgemode="directed")
> 
> gX <- addEdge("A", "C", gR2, 1)
> 
> gR3 <- randomEGraph(letters[10:14], .4)
> gY <- addEdge("n", "l", gR3, 1)
Warning message:
In .local(from, to, graph) : edges replaced: 'n|l'
> 
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>