# To generate events up to time '50' in a network of 25 actors with
# 200 random initial events
# Exogenous attributes data.frame
cov <- data.frame(
id = 1:25,
time = rep(0, 25),
sex = sample(c(0, 1), 25, replace = TRUE, prob = c(0.4, 0.6)),
age = sample(20:30, 25, replace = TRUE)
)
#Effects specification
effects <- ~ remulate::baseline(-5) +
remulate::inertia(0.01) +
remulate::reciprocity(-0.04) +
remulate::itp(0.01, scaling = "std") +
remulate::same(0.02, variable = "sex", attr_actors = cov) +
remulate::interact(0.01, indices = c(2, 5))
# Calling remulateTie
remulate::remulateTie(
effects,
actors = 1:25,
endTime = 50,
events = 500,
initial = 200
)
# To predict events, given an edgelist of initial events
initialREH <- data.frame(
time = seq(0.5, 100, 0.5),
sender = sample(1:25, 200, TRUE),
receiver = sample(1:25, 200, TRUE)
)
remulate::remulateTie(
effects,
actors = 1:25,
endTime = 150,
events = 500,
initial = initialREH
)
# Custom risk set
rs <- as.matrix(expand.grid(1:25, 1:25))
rs <- rs[rs[, 1] != rs[, 2], ]
custom_rs <- rs[sample(1:90, 50), ]
remulate::remulateTie(
effects,
actors = 1:25,
endTime = 150,
events = 500,
riskset = custom_rs
)
Run the code above in your browser using DataLab