## ----message=FALSE------------------------------------------------------------ library(graph) ## ----------------------------------------------------------------------------- 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 ## ----------------------------------------------------------------------------- nodes(g) edgeWeights(g, index = c("SEA", "LAX")) ## ----------------------------------------------------------------------------- g <- addNode("IAH", g) g <- addEdge(from = "DEN", to = "IAH", graph = g, weight = 120) g ## ----------------------------------------------------------------------------- g <- removeEdge(from ="DEN", to = "IAH", g) g <- removeNode(node = "IAH", g) g ## ----------------------------------------------------------------------------- g <- subGraph(snodes = c("DEN","LAX", "SEA"), g) g ## ----------------------------------------------------------------------------- extractFromTo(g) ## ----------------------------------------------------------------------------- data("esetsFemale") data("esetsMale") ## ----------------------------------------------------------------------------- dfMale <- esetsMale[["brain"]] dfFemale <- esetsFemale[["brain"]] head(dfMale) ## ----------------------------------------------------------------------------- male <- graphBAM(dfMale, edgemode = "directed") female <- graphBAM(dfFemale, edgemode = "directed") ## ----------------------------------------------------------------------------- intrsct <- graphIntersect(male, female, edgeFun=list(weight = sum)) intrsct ## ----------------------------------------------------------------------------- resWt <- removeEdgesByWeight(intrsct, lessThan = 1.5) ## ----------------------------------------------------------------------------- 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" ## ----message=FALSE------------------------------------------------------------ library(graph) library(RBGL) ## ----------------------------------------------------------------------------- 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) ## ----------------------------------------------------------------------------- esets <- list(Alaska = ft1, United = ft2, Delta = ft3, American = ft4) mg <- MultiGraph(esets, directed = TRUE) mg ## ----------------------------------------------------------------------------- nodes(mg) ## ----------------------------------------------------------------------------- mgEdgeData(mg, "Delta", from = "SEA", attr = "weight") ## ----------------------------------------------------------------------------- nodeDataDefaults(mg, attr="shape") <- "square" nodeData(mg, n = c("SEA", "DEN", "IAH", "LAX", "SFO"), attr = "shape") <- c("triangle", "circle", "circle", "circle", "circle") ## ----------------------------------------------------------------------------- nodeData(mg, attr = "shape") ## ----------------------------------------------------------------------------- mgEdgeDataDefaults(mg, "Delta", attr = "color") <- "red" mgEdgeData(mg, "Delta", from = c("SEA", "SEA", "SEA", "SEA"), to = c("DEN", "IAH", "LAX", "SFO"), attr = "color") <- "green" mgEdgeData(mg, "Delta", attr = "color") ## ----------------------------------------------------------------------------- g <- subsetEdgeSets(mg, edgeSets = c("Alaska", "United", "Delta")) ## ----------------------------------------------------------------------------- edgeFun <- list( weight = min) gInt <- edgeSetIntersect0(g, edgeFun = edgeFun) gInt ## ----------------------------------------------------------------------------- mgEdgeData(gInt, "Alaska_United_Delta", attr= "weight") ## ----------------------------------------------------------------------------- data("esetsFemale") data("esetsMale") names(esetsFemale) head(esetsFemale$brain) ## ----------------------------------------------------------------------------- female <- MultiGraph(edgeSets = esetsFemale, directed = TRUE) male <- MultiGraph(edgeSets = esetsMale, directed = TRUE ) male female ## ----------------------------------------------------------------------------- maleBrain <- extractGraphBAM(male, "brain")[["brain"]] maleBrain femaleBrain <- extractGraphBAM(female, "brain")[["brain"]] ## ----------------------------------------------------------------------------- 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 ## ----------------------------------------------------------------------------- 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") ## ----------------------------------------------------------------------------- resInt <- graphIntersect(male, female) resInt