Skip to content

Commit 6bec689

Browse files
committed
chore: add t1 to edgelist format and clean up comments
1 parent da1ab6c commit 6bec689

1 file changed

Lines changed: 7 additions & 8 deletions

File tree

data-raw/epigamesDiffNet.R

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,19 @@
55
rm(list = ls())
66
library(netdiffuseR)
77

8-
# Load the base epigames dataset (with dynamic attrs)
98
load("data/epigames.rda")
109

1110
attrs <- epigames$attributes # 594 x 6: id, toa, qyes_total, qno_total, mask_prop, med_prop
1211
edges <- epigames$edgelist # hourly edgelist: sender, receiver, time (0-338), weight
1312
dyn_long <- epigames$dyn_attrs # long format: id, hour (0-338), mask, med, quarantine
1413

1514
# Collapse hourly edgelist into 15 daily windows via collapse_timeframes()
16-
WINDOW_SIZE <- 24 # hours per day
15+
WINDOW_SIZE <- 24
1716
N_DAYS <- 15
1817

18+
dyn_long$day <- (dyn_long$hour %/% WINDOW_SIZE) + 1
19+
dyn_long$day <- pmin(dyn_long$day, N_DAYS) # day mapping
20+
1921
daily_edgelist <- collapse_timeframes(
2022
edgelist = edges,
2123
ego = "sender",
@@ -33,21 +35,18 @@ adjmat <- edgelist_to_adjmat(
3335
daily_edgelist[, c("sender", "receiver")],
3436
w = daily_edgelist$weight,
3537
t0 = daily_edgelist$time,
38+
t1 = daily_edgelist$time,
3639
keep.isolates = TRUE,
3740
multiple = TRUE
3841
)
3942

4043
# Build vertex.dyn.attrs: one data.frame per day (15 total)
41-
# Each data.frame: 594 rows, columns: mask, med, quarantine (daily means)
42-
# Map hourly data to day index (day d = hours [(d-1)*24 .. d*24-1])
43-
dyn_long$day <- (dyn_long$hour %/% WINDOW_SIZE) + 1 # 1-based day
44-
dyn_long$day <- pmin(dyn_long$day, N_DAYS) # clamp hour 336-338 to day 15
44+
# Each data.frame: 594 rows, columns: mask, med, quarantine
4545

4646
vertex_dyn <- lapply(1:N_DAYS, function(d) {
4747
sub <- dyn_long[dyn_long$day == d, ]
4848

4949
# Aggregate per node: mean within each 24-hour window
50-
# (proportion of hours in that day where behavior was active)
5150
agg <- aggregate(
5251
cbind(mask, med, quarantine) ~ id,
5352
data = sub,
@@ -58,7 +57,7 @@ vertex_dyn <- lapply(1:N_DAYS, function(d) {
5857
agg <- agg[order(agg$id), ]
5958
rownames(agg) <- NULL
6059

61-
# Return only the behavior columns (not id — diffnet uses position)
60+
# Return only the behavior columns
6261
agg[, c("mask", "med", "quarantine")]
6362
})
6463

0 commit comments

Comments
 (0)