## ----Loading netdiffuseR, echo=FALSE------------------------------------------ library(netdiffuseR) knitr::opts_chunk$set(comment = '#') ## ----Ex1: Datasets------------------------------------------------------------ # Loading the datasets data("fakesurvey") data("fakeEdgelist") ## ----------------------------------------------------------------------------- head(fakesurvey[,c("id", "group")]) head(fakeEdgelist) ## ----------------------------------------------------------------------------- # Coercing the edgelist to an adjacency matrix adjmat <- edgelist_to_adjmat( edgelist = fakeEdgelist[,1:2], # Should be a two column matrix/data.frame w = fakeEdgelist$value, # An optional vector with weights undirected = FALSE, # In this case, the edgelist is directed t = 5) # We use this option to make 5 replicas of it ## ----------------------------------------------------------------------------- fakeEdgelist[11,,drop=FALSE] ## ----------------------------------------------------------------------------- # Filling the empty data, and checking the outcome fakeEdgelist[11,"value"] <- 1 fakeEdgelist[11,,drop=FALSE] # Coercing the edgelist to an adjacency matrix (again) adjmat <- edgelist_to_adjmat( edgelist = fakeEdgelist[,1:2], # Should be a two column matrix/data.frame w = fakeEdgelist$value, # An optional vector with weights undirected = FALSE, # In this case, the edgelist is directed keep.isolates = TRUE, # NOTICE THIS NEW ARGUMENT! t = 5) # We use this option to make 5 replicas of it ## ----------------------------------------------------------------------------- adjmat[[1]] ## ----------------------------------------------------------------------------- # Coercing the adjacency matrix and edgelist into a diffnet object diffnet <- as_diffnet( graph = adjmat, # Passing a dynamic graph toa = fakesurvey$toa, # This is required vertex.static.attrs = fakesurvey # Is is optional ) # Taking a look at the diffnet object diffnet ## ----------------------------------------------------------------------------- # Before fakesurvey$id # Changing the id fakesurvey$id <- with(fakesurvey, group*100 + id) # After fakesurvey$id ## ----------------------------------------------------------------------------- diffnet2 <- edgelist_to_diffnet( edgelist = fakeEdgelist[,1:2], # Passed to edgelist_to_adjmat w = fakeEdgelist$value, # Passed to edgelist_to_adjmat dat = fakesurvey, # Data frame with -idvar- and -toavar- idvar = "id", # Name of the -idvar- in -dat- toavar = "toa", # Name of the -toavar- in -dat- keep.isolates = TRUE # Passed to edgelist_to_adjmat ) diffnet2 ## ----------------------------------------------------------------------------- # Loading the data data("fakesurvey") fakesurvey ## ----------------------------------------------------------------------------- fakesurvey[c(4,6),] ## ----------------------------------------------------------------------------- # Coercing the survey data into a diffnet object diffnet_w_unsurveyed <- survey_to_diffnet( dat = fakesurvey, # The dataset idvar = "id", # Name of the idvar (must be integer) netvars = c("net1", "net2", "net3"), # Vector of names of nomination vars toavar = "toa", # Name of the time of adoption var groupvar = "group", # Name of the group var (OPTIONAL) no.unsurveyed = FALSE # KEEP OR NOT UNSURVEYED ) diffnet_w_unsurveyed # Retrieving nodes ids nodes(diffnet_w_unsurveyed) ## ----------------------------------------------------------------------------- # Coercing the survey data into a diffnet object diffnet_wo_unsurveyed <- survey_to_diffnet( dat = fakesurvey, # The dataset idvar = "id", # Name of the idvar (must be integer) netvars = c("net1", "net2", "net3"), # Vector of names of nomination vars toavar = "toa", # Name of the time of adoption var groupvar = "group" # Name of the group var (OPTIONAL) ) diffnet_wo_unsurveyed # Retrieving nodes ids nodes(diffnet_wo_unsurveyed) ## ----------------------------------------------------------------------------- difference <- diffnet_w_unsurveyed - diffnet_wo_unsurveyed difference ## ----------------------------------------------------------------------------- # Taking a look at the data data("fakeDynEdgelist") head(fakeDynEdgelist) ## ----------------------------------------------------------------------------- data("fakesurveyDyn") head(fakesurveyDyn) ## ----------------------------------------------------------------------------- # Fixing ids fakesurveyDyn$id <- with(fakesurveyDyn, group*100 + id) # An individual who is alone fakeDynEdgelist[11,"value"] <- 1 ## ----------------------------------------------------------------------------- diffnet <- edgelist_to_diffnet( edgelist = fakeDynEdgelist[,1:2], # As usual, a two column dataset w = fakeDynEdgelist$value, # Here we are using weights t0 = fakeDynEdgelist$time, # An integer vector with starting point of spell t1 = fakeDynEdgelist$time, # An integer vector with the endpoint of spell dat = fakesurveyDyn, # Attributes dataset idvar = "id", toavar = "toa", timevar = "time", keep.isolates = TRUE # Keeping isolates (if there's any) ) diffnet