inst/doc/MultiGraphClass.R

### R code from vignette source 'MultiGraphClass.Rnw'

###################################################
### code chunk number 1: loadGraph
###################################################
library(graph)


###################################################
### code chunk number 2: creategraphBAM
###################################################
df <- data.frame(from = c("SEA", "SFO", "SEA", "LAX", "SEA"),
                   to = c("SFO", "LAX", "LAX", "SEA", "DEN"),
                 weight = c( 90, 96, 124, 115, 259),
                 stringsAsFactors = TRUE)
g <- graphBAM(df, edgemode = "directed")
g 


###################################################
### code chunk number 3: nodeAndWeights
###################################################
nodes(g)
edgeWeights(g, index = c("SEA", "LAX"))


###################################################
### code chunk number 4: addNodeEdge
###################################################
g <- addNode("IAH", g)
g <- addEdge(from = "DEN", to = "IAH", graph = g, weight = 120)
g


###################################################
### code chunk number 5: removeEdge
###################################################
g <- removeEdge(from ="DEN", to = "IAH", g)
g <- removeNode(node = "IAH", g)
g


###################################################
### code chunk number 6: subGraph
###################################################
g <- subGraph(snodes = c("DEN","LAX", "SEA"), g)
g


###################################################
### code chunk number 7: fromTo
###################################################
extractFromTo(g)


###################################################
### code chunk number 8: loadData1
###################################################
data("esetsFemale")
data("esetsMale")


###################################################
### code chunk number 9: dataFrames
###################################################
dfMale <- esetsMale[["brain"]]
dfFemale <- esetsFemale[["brain"]]
head(dfMale)


###################################################
### code chunk number 10: creategraphBAMs
###################################################
male <- graphBAM(dfMale, edgemode = "directed")
female <- graphBAM(dfFemale, edgemode = "directed")


###################################################
### code chunk number 11: bamIntersect
###################################################
intrsct <- graphIntersect(male, female, edgeFun=list(weight =  sum))
intrsct


###################################################
### code chunk number 12: removeEdges
###################################################
resWt <- removeEdgesByWeight(intrsct, lessThan = 1.5)


###################################################
### code chunk number 13: updateColor
###################################################
ftSub <- extractFromTo(resWt)
edgeDataDefaults(male, attr = "color") <- "white"
edgeDataDefaults(female, attr = "color") <- "white"
edgeData(male, from = as.character(ftSub[,"from"]), 
        to = as.character(ftSub[,"to"]), attr = "color") <- "red"

edgeData(female, from = as.character(ftSub[,"from"]), 
        to = as.character(ftSub[,"to"]), attr = "color") <- "red"



###################################################
### code chunk number 14: loadRBGL
###################################################
library(graph)
library(RBGL)


###################################################
### code chunk number 15: createDataFrames
###################################################
ft1 <- data.frame(
        from = c("SEA", "SFO", "SEA", "LAX", "SEA"),
          to = c("SFO", "LAX", "LAX", "SEA", "DEN"),
      weight = c( 90, 96, 124, 115, 259),
      stringsAsFactors = TRUE)

ft2 <- data.frame(
        from = c("SEA", "SFO", "SEA", "LAX", "SEA", "DEN", "SEA", "IAH", "DEN"),
          to = c("SFO", "LAX", "LAX", "SEA", "DEN", "IAH", "IAH", "DEN", "BWI"),
       weight= c(169, 65, 110, 110, 269, 256, 304, 256, 271),
       stringsAsFactors = TRUE)

ft3 <- data.frame( 
   from = c("SEA", "SFO", "SEA", "LAX", "SEA", "DEN", "SEA", "IAH", "DEN", "BWI"),
    to  = c("SFO", "LAX", "LAX", "SEA", "DEN", "IAH", "IAH", "DEN", "BWI", "SFO"),
 weight = c(237, 65, 156, 139, 281, 161, 282, 265, 298, 244),
 stringsAsFactors = TRUE)

ft4 <- data.frame( 
    from = c("SEA", "SFO", "SEA", "SEA", "DEN", "SEA", "BWI"),
     to  = c("SFO", "LAX", "LAX", "DEN", "IAH", "IAH", "SFO"),
  weight = c(237, 60, 125, 259, 265, 349, 191),
  stringsAsFactors = TRUE)


###################################################
### code chunk number 16: createMG
###################################################
esets <- list(Alaska = ft1, United = ft2, Delta = ft3, American = ft4)
mg <- MultiGraph(esets, directed = TRUE)
mg


###################################################
### code chunk number 17: cities
###################################################
nodes(mg)


###################################################
### code chunk number 18: DeltafromSeattle
###################################################
mgEdgeData(mg, "Delta", from = "SEA", attr = "weight")


###################################################
### code chunk number 19: nodeData
###################################################
nodeDataDefaults(mg, attr="shape") <- "square"
nodeData(mg, n = c("SEA", "DEN", "IAH", "LAX", "SFO"), attr = "shape")  <- 
    c("triangle", "circle", "circle", "circle", "circle")


###################################################
### code chunk number 20: nodeDataVal
###################################################
nodeData(mg,  attr = "shape")  


###################################################
### code chunk number 21: edgeDataVal
###################################################
mgEdgeDataDefaults(mg, "Delta", attr = "color")  <- "red"
mgEdgeData(mg, "Delta", from = c("SEA", "SEA", "SEA", "SEA"), 
        to = c("DEN", "IAH", "LAX", "SFO"), attr = "color") <- "green"


###################################################
### code chunk number 22: mgEdgeDataVal
###################################################
mgEdgeData(mg, "Delta", attr = "color")


###################################################
### code chunk number 23: subsetMG
###################################################
g <- subsetEdgeSets(mg, edgeSets = c("Alaska", "United", "Delta"))


###################################################
### code chunk number 24: intersecmg
###################################################
edgeFun <- list( weight = min)
gInt <- edgeSetIntersect0(g, edgeFun = edgeFun)
gInt


###################################################
### code chunk number 25: intersectWeights
###################################################
mgEdgeData(gInt, "Alaska_United_Delta", attr= "weight")


###################################################
### code chunk number 26: loadData
###################################################
data("esetsFemale")
data("esetsMale")
names(esetsFemale)
head(esetsFemale$brain)


###################################################
### code chunk number 27: createMultiGraphs
###################################################
female  <- MultiGraph(edgeSets = esetsFemale, directed = TRUE)
male  <- MultiGraph(edgeSets = esetsMale, directed = TRUE )
male
female


###################################################
### code chunk number 28: graphBAMs
###################################################
maleBrain <- extractGraphBAM(male, "brain")[["brain"]]
maleBrain
femaleBrain <-  extractGraphBAM(female, "brain")[["brain"]]


###################################################
### code chunk number 29: edgeDistance
###################################################
maleWt <- bellman.ford.sp(maleBrain, start = c("10024416717"))$distance
maleWt <- maleWt[maleWt != Inf & maleWt != 0]
maleWt

femaleWt <- bellman.ford.sp(femaleBrain, start = c("10024416717"))$distance
femaleWt <- femaleWt[femaleWt != Inf & femaleWt != 0]
femaleWt


###################################################
### code chunk number 30: nodeAttr
###################################################
nodeDataDefaults(male, attr = "color") <- "gray"
nodeData(male , n = c("10024416717", names(maleWt)), attr = "color" ) <- c("red")

nodeDataDefaults(female, attr = "color") <- "gray"
nodeData(female , n = c("10024416717", names(femaleWt)), attr = "color" ) <- c("red")


###################################################
### code chunk number 31: nodeSub
###################################################
resInt <- graphIntersect(male, female)
resInt

Try the graph package in your browser

Any scripts or data that you put into this service are public.

graph documentation built on Nov. 8, 2020, 6:02 p.m.