In the multiway network MN the property hour is considered as a weight. We move it to ways.
> setwd("C:/Users/vlado/DL/data/multi/chicago") > library(jsonlite) > library(Polychrome) > library(magrittr) > source("https://raw.githubusercontent.com/bavla/ibm3m/master/multiway/MWnets.R") > MN <- fromJSON("https://raw.githubusercontent.com/bavla/ibm3m/master/data/ChicagoCrime0.json") > str(MN) > MN$ways$hour <- "hour" > MN$nodes$hour <- data.frame(ID=paste(0:23,"H")) > MT <- MN > L <- MT$links > Links <- aggregate(L$w,by=list(L$primary,L$location,L$hour),FUN=sum) > names(Links) <- c("primary","location","hour","w") > MT$links <- Links > ways <- c("primary","location","hour"); Ways <- as.list(ways); names(Ways) <- ways > MT$ways <- Ways > MT$nodes <- list(primary=MT$nodes$primary,location=MT$nodes$location,hour=MT$nodes$hour) > MT$info$network <- "ChicagoCrime22H" > MT$info$title <- "City of Chicago incidents of crime 2022 / hours" > MT$info$creator <- "V. Batagelj" > MT$nodes$location$ID[1] <- "missing" > str(MT) List of 6 $ format: chr "MWnets" $ info :List of 6 ..$ network: chr "ChicagoCrime22H" ..$ title : chr "City of Chicago incidents of crime 2022 / hours" ..$ by : chr "DF2MWN" ..$ date : chr "Mon Jan 30 04:02:07 2023" ..$ URL : chr "https://www.chicago.gov/city/en/dataset/crime.html" ..$ creator: chr "V. Batagelj" $ ways :List of 3 ..$ primary : chr "primary" ..$ location: chr "location" ..$ hour : chr "hour" $ nodes :List of 3 ..$ primary :'data.frame': 31 obs. of 1 variable: .. ..$ ID: chr [1:31] "ARSON" "ASSAULT" "BATTERY" "BURGLARY" ... ..$ location:'data.frame': 135 obs. of 1 variable: .. ..$ ID: chr [1:135] "missing" "ABANDONED BUILDING" "AIRCRAFT" "AIRPORT BUILDING NON-TERMINAL - NON-SECURE AREA" ... ..$ hour :'data.frame': 24 obs. of 1 variable: .. ..$ ID: chr [1:24] "0 H" "1 H" "2 H" "3 H" ... $ links :'data.frame': 13515 obs. of 4 variables: ..$ primary : int [1:13515] 9 23 6 7 8 23 26 30 31 3 ... ..$ location: int [1:13515] 1 1 2 2 2 2 2 2 2 3 ... ..$ hour : int [1:13515] 0 0 0 0 0 0 0 0 0 0 ... ..$ w : int [1:13515] 52 1 2 1 1 2 1 2 1 1 ... $ data : list() > write(toJSON(MT),"ChicagoCrimeH.json") > n1 <- nrow(MT$nodes$primary); n2 <- nrow(MT$nodes$location); n3 <- nrow(MT$nodes$hour) > C1 <- 1:n1; C2 <- 1:n2; C3 <- 1:n3 > F12 <- sapply(1:n1,function(u) pRel(MT,u,C2,"primary","location",way3="hour")) > F21 <- sapply(1:n2,function(v) pRel(MT,v,C1,"location","primary",way3="hour")) > table(F12) F12 3 4 6 7 9 18 21 22 23 24 1 1 1 1 1 1 1 1 3 20 > table(F21) F21 1 2 3 4 5 6 8 9 11 12 13 14 15 17 18 19 20 21 22 23 24 16 4 4 2 1 5 2 1 2 5 4 4 1 2 1 3 4 2 4 14 54 > PRel <- function(MN,u,C,way1,way2,...) pRel(MN,u,C,way1,way2,way3="hour",...) > Rcore <- Gen2modeCore(MT,"primary","location",PRel,PRel,23,23) > Rcore $core1 [1] 1 2 3 4 5 6 7 8 9 11 14 15 17 18 21 23 24 26 27 28 29 30 31 $core2 [1] 1 2 4 6 8 9 12 13 17 19 21 22 24 25 27 29 34 36 38 41 42 47 48 49 [25] 52 53 54 55 57 59 60 61 62 64 65 66 72 74 75 77 78 80 86 88 90 91 92 93 [49] 95 98 103 104 105 106 107 112 113 114 116 117 118 120 122 126 127 131 132 134 > Rcore <- Gen2modeCore(MT,"primary","location",PRel,PRel,24,24) > Rcore $core1 [1] 1 2 3 4 5 6 7 8 9 11 17 18 21 23 26 27 28 29 30 31 $core2 [1] 1 8 13 17 19 21 24 25 27 34 36 38 41 42 47 48 49 52 53 55 57 59 60 62 [25] 64 65 66 72 74 75 77 78 80 88 90 91 92 93 95 98 103 104 105 106 107 112 116 117 [49] 120 122 126 127 132 134 > Cprim <- Rcore$core1; Cloc <- Rcore$core2 > FCp <- sapply(Cprim,function(u) pRel(MT,u,Cloc,"primary","location",way3="hour")) > names(FCp) <- MT$nodes$primary$ID[Cprim] > rev(sort(FCp)) WEAPONS VIOLATION THEFT 24 24 STALKING SEX OFFENSE 24 24 ROBBERY PUBLIC PEACE VIOLATION 24 24 OTHER OFFENSE OFFENSE INVOLVING CHILDREN 24 24 NARCOTICS MOTOR VEHICLE THEFT 24 24 HOMICIDE DECEPTIVE PRACTICE 24 24 CRIMINAL TRESPASS CRIMINAL SEXUAL ASSAULT 24 24 CRIMINAL DAMAGE CONCEALED CARRY LICENSE VIOLATION 24 24 BURGLARY BATTERY 24 24 ASSAULT ARSON 24 24 > FCl <- sapply(Cloc,function(u) pRel(MT,u,Cprim,"location","primary",way3="hour")) > names(FCl) <- MT$nodes$location$ID[Cloc] > rev(sort(FCl)) WAREHOUSE VEHICLE NON-COMMERCIAL 24 24 VEHICLE - COMMERCIAL VACANT LOT / LAND 24 24 TAVERN / LIQUOR STORE STREET ...