| Title: | Simulate Dynamic Networks from Relational Event Models |
|---|---|
| Description: | Model based simulation of dynamic networks under tie-oriented (Butts, C., 2008, <doi:10.1111/j.1467-9531.2008.00203.x>) and actor-oriented (Stadtfeld, C., & Block, P., 2017, <doi:10.15195/v4.a14>) relational event models. Supports simulation from a variety of relational event model extensions, including temporal variability in effects, heterogeneity through dyadic latent class relational event models (DLC-REM), random effects, blockmodels, and memory decay in relational event models (Lakdawala, R., 2024 <doi:10.48550/arXiv.2403.19329>). The development of this package was supported by a Vidi Grant (452-17-006) awarded by the Netherlands Organization for Scientific Research (NWO) Grant and an ERC Starting Grant (758791). |
| Authors: | Rumana Lakdawala [aut, cre] (ORCID: <https://orcid.org/0000-0002-9992-6035>), Marlyne Meijerink-Bosman [ctb], Giuseppe Arena [ctb], Diana Karimova [ctb], Mahdi Shafiee Kamalabad [ctb], Fabio Generoso Vieira [ctb], Roger Leenders [ctb], Joris Mulder [ctb] |
| Maintainer: | Rumana Lakdawala <[email protected]> |
| License: | MIT + file LICENSE |
| Version: | 2.1.0 |
| Built: | 2026-05-25 08:17:28 UTC |
| Source: | https://github.com/tilburgnetworkgroup/remulate |
This function specifies the input for the average effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
average(param = NULL, variable, attr_actors, scaling = c("none", "std"))average(param = NULL, variable, attr_actors, scaling = c("none", "std"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
variable |
character vector specifies the name of the column with covariate value in attr_actors data.frame |
attr_actors |
data.frame object with rows specifying values of attr_actors for an actor. First column must contain actor id, Second column time when covariate value changes (default zero if no change), Third column contains values for the attributes with column name corresponding to variable name |
scaling |
specifies the method for scaling the statistic. |
Dyadic covariate: average attribute value for dyad (i,j) is the average of the attribute values for actors i, j
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specified the input for the baseline effect in the formula argument for the function remulateTie or remulateActor.
baseline(param = NULL)baseline(param = NULL)
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the baseline in the REM model |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the difference effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
difference(param = NULL, variable, attr_actors, scaling = c("none", "std"))difference(param = NULL, variable, attr_actors, scaling = c("none", "std"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
variable |
character vector specifies the name of the column with covariate value in attr_actors data.frame |
attr_actors |
data.frame object with rows specifying values of attr_actors for an actor. First column must contain actor id, Second column time when covariate value changes (default zero if no change), Third column contains values for the attributes with column name corresponding to variable name |
scaling |
specifies the method for scaling the statistic. |
Dyadic covariate: (Heterophily) is the tendency to create an event i->j if actors i and j have a high absolute difference in attribute values
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the dyad effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
dyad(param = NULL, variable, attr_dyads, scaling = c("none", "std"))dyad(param = NULL, variable, attr_dyads, scaling = c("none", "std"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
variable |
character vector specifies the name of the column with covariate value in attr_actors data.frame |
attr_dyads |
data.frame object with rows specifying values of attr_dyads for a pair of actors (dyad). First column must contain sender id, Second column receiver id, Third column contains values for the attributes with column name corresponding to variable name |
scaling |
specifies the method for scaling the statistic. |
Dyadic covariate: dyad attribute value is the tendency to create an event i -> j when (i,j) has a high attribute value.
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the indegreeReceiver effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
indegreeReceiver(param = NULL, scaling = c("none", "std", "prop"))indegreeReceiver(param = NULL, scaling = c("none", "std", "prop"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
scaling |
the method for scaling the indegreeReceiver statistic. |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the indegreeSender effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
indegreeSender(param = NULL, scaling = c("none", "std", "prop"))indegreeSender(param = NULL, scaling = c("none", "std", "prop"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
scaling |
the method for scaling the indegreeSender statistic. |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the inertia effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
inertia(param = NULL, scaling = c("none", "std", "prop"))inertia(param = NULL, scaling = c("none", "std", "prop"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
scaling |
the method for scaling the inertia statistic. |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the interact effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
interact(param = NULL, indices, scaling = c("none", "std"))interact(param = NULL, indices, scaling = c("none", "std"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
indices |
is a numeric vector of indices corresponding to the effects specified in |
scaling |
specifies the method for scaling the statistic after the interaction has been computed. |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the isp effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
isp(param = NULL, scaling = c("none", "std"))isp(param = NULL, scaling = c("none", "std"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
scaling |
the method for scaling the isp statistic. |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the itp effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
itp(param = NULL, scaling = c("none", "std"))itp(param = NULL, scaling = c("none", "std"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
scaling |
the method for scaling the itp statistic. |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the maximum effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
maximum(param = NULL, variable, attr_actors, scaling = c("none", "std"))maximum(param = NULL, variable, attr_actors, scaling = c("none", "std"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
variable |
character vector specifies the name of the column with covariate value in attr_actors data.frame |
attr_actors |
data.frame object with rows specifying values of attr_actors for an actor. First column must contain actor id, Second column time when covariate value changes (default zero if no change), Third column contains values for the attributes with column name corresponding to variable name |
scaling |
specifies the method for scaling the statistic. |
Dyadic covariate: maximum attribute value for dyad (i,j) is the bigger of the attribute values for actors i , j
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the minimum effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
minimum(param = NULL, variable, attr_actors, scaling = c("none", "std"))minimum(param = NULL, variable, attr_actors, scaling = c("none", "std"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
variable |
character vector specifies the name of the column with covariate value in attr_actors data.frame |
attr_actors |
data.frame object with rows specifying values of attr_actors for an actor. First column must contain actor id, Second column time when covariate value changes (default zero if no change), Third column contains values for the attributes with column name corresponding to variable name |
scaling |
specifies the method for scaling the statistic. |
Dyadic covariate: minimum attribute value for dyad (i,j) is the smaller of the attribute values for actors i , j
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the osp effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
osp(param = NULL, scaling = c("none", "std"))osp(param = NULL, scaling = c("none", "std"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
scaling |
the method for scaling the osp statistic. |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specified the input for the baseline effect in the formula argument for the function remulateActor. Not to be used independently.
ospSender(param = NULL, scaling = c("none", "std", "prop"))ospSender(param = NULL, scaling = c("none", "std", "prop"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the baseline in the REM model |
scaling |
the method for scaling the otp sender statistic. |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by 'remulate::remulateActor()' to compute the statistic.
This function specifies the input for the otp effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
otp(param = NULL, scaling = c("none", "std"))otp(param = NULL, scaling = c("none", "std"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
scaling |
the method for scaling the otp statistic. |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
s_formula argument for the function remulateActor. Not to be used independently.osp sender
This function specifies the input for the osp sender effect in the s_formula argument for the function remulateActor. Not to be used independently.
otpSender(param = NULL, scaling = c("none", "std", "prop"))otpSender(param = NULL, scaling = c("none", "std", "prop"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the baseline in the REM model |
scaling |
the method for scaling the osp sender statistic. |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by 'remulate::remulateActor()' to compute the statistic.
This function specifies the input for the outdegreeReceiver effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
outdegreeReceiver(param = NULL, scaling = c("none", "std", "prop"))outdegreeReceiver(param = NULL, scaling = c("none", "std", "prop"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
scaling |
the method for scaling the outdegreeReceiver statistic. |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the outdegreeSender effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
outdegreeSender(param = NULL, scaling = c("none", "std", "prop"))outdegreeSender(param = NULL, scaling = c("none", "std", "prop"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
scaling |
the method for scaling the outdegreeSender statistic. |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the psABAY effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
psABAY(param = NULL, scaling = c("none", "std"))psABAY(param = NULL, scaling = c("none", "std"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
scaling |
the method for scaling the psABAY statistic. |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the psABBA effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
psABBA(param = NULL, scaling = c("none", "std"))psABBA(param = NULL, scaling = c("none", "std"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
scaling |
the method for scaling the psABBA statistic. |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the psABBY effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
psABBY(param = NULL, scaling = c("none", "std"))psABBY(param = NULL, scaling = c("none", "std"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
scaling |
the method for scaling the psABBY statistic. |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the psABXA effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
psABXA(param = NULL, scaling = c("none", "std"))psABXA(param = NULL, scaling = c("none", "std"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
scaling |
the method for scaling the psABXA statistic. |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the psABXB effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
psABXB(param = NULL, scaling = c("none", "std"))psABXB(param = NULL, scaling = c("none", "std"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
scaling |
the method for scaling the psABXB statistic. |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the psABXY effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
psABXY(param = NULL, scaling = c("none", "std"))psABXY(param = NULL, scaling = c("none", "std"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
scaling |
the method for scaling the psABXY statistic. |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the receive effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
receive(param = NULL, variable, attr_actors, scaling = c("none", "std"))receive(param = NULL, variable, attr_actors, scaling = c("none", "std"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
variable |
character vector specifies the name of the column with covariate value in attr_actors data.frame |
attr_actors |
data.frame object with rows specifying values of attr_actors for an actor. First column must contain actor id, Second column time when covariate value changes (default zero if no change), Third column contains values for the attributes with column name corresponding to variable name |
scaling |
specifies the method for scaling the statistic. |
Receiver covariate: The tendency to create an event i->j when j has a high attribute value.
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the recencyContinue effect in the formula argument for the function remulateTie. Not to be used independently
recencyContinue(param = NULL)recencyContinue(param = NULL)
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the recencyReceiveReceiver effect in the formula argument for the function remulateTie. Not to be used independently
recencyReceiveReceiver(param = NULL)recencyReceiveReceiver(param = NULL)
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the recencyReceiveSender effect in the formula argument for the function remulateTie. Not to be used independently
recencyReceiveSender(param = NULL)recencyReceiveSender(param = NULL)
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the recencySendReceiver effect in the formula argument for the function remulateTie. Not to be used independently
recencySendReceiver(param = NULL)recencySendReceiver(param = NULL)
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the recencySendSender effect in the formula argument for the function remulateTie. Not to be used independently
recencySendSender(param = NULL)recencySendSender(param = NULL)
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the reciprocity effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
reciprocity(param = NULL, scaling = c("none", "std", "prop"))reciprocity(param = NULL, scaling = c("none", "std", "prop"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
scaling |
the method for scaling the reciprocity statistic. |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
A function to simulate relational event data by sampling from an actor-oriented relational event model.
remulateActor( rateEffects, choiceEffects, actors, endTime, events = NULL, startTime = 0, initial = 0, riskset = NULL, memory = c("full", "window", "window_m", "decay"), memoryParam = NULL )remulateActor( rateEffects, choiceEffects, actors, endTime, events = NULL, startTime = 0, initial = 0, riskset = NULL, memory = c("full", "window", "window_m", "decay"), memoryParam = NULL )
rateEffects |
A |
choiceEffects |
A |
actors |
A numeric or character vector representing the actor names. |
endTime |
A numeric value specifying the end time up to which the network should be simulated. |
events |
[Optional] An integer specifying the maximum number of events to simulate. |
startTime |
[Optional] A numeric value (default = 0) indicating the time at which the simulation should start. |
initial |
[Optional] A numeric or |
riskset |
[Optional] A |
memory |
[Optional] A string (default = "full") specifying the memory type used for computing statistics. - '"full"': Uses the entire event history. - '"window"': Considers only events occurring within a specified time window. - '"window_m"': Considers only a specified number of most recent events. - '"decay"': Applies an exponential decay, where older events contribute less based on elapsed time. |
memoryParam |
[Optional] A numeric value (> 0) defining the memory parameter based on the selected memory type: - '"window"': Length of the time window. - '"window_m"': Number of past events to consider. - ‘"decay"': Half-life (i.e., time until an event’s weight is reduced to half). |
#' If time is irrelevant and only a specific number of events are desired, set time to Inf. If both time and events are supplied then the function stops simulating whenever the first stop condition is met
A list of available statistics for actor rate model. See remulateActorEffects for details on effects:
baseline()
indegreeSender()
outdegreeSender()
totaldegreeSender()
ospSender()
otpSender()
send()
interact()
A list of available statistics for receiver choice model. See remulateActorEffects for details on effects: :
inertia()
reciprocity()
indegreeReceiver()
outdegreeReceiver()
totaldegreeReceiver()
otp()
itp()
osp()
isp()
psABBA()
psABBY()
psABXA()
psABXB()
psABXY()
psABAY()
recencyContinue()
recencySendReceiver()
recencyReceiveReceiver()
rrankReceive()
receive()
dyad()
same()
average()
difference()
minimum()
maximum()
interact()
An object of class "remulateActor". A data.frame containing the simulated event sequence with columns (time, sender, receiver).
The "remulateActor" object has the following attributes::
A matrix containing the event list with columns (dyad, time),
where dyad represents the index of the (sender, receiver) pair in the risk set.
An array of dimensions M x N x P, where:
- M is the number of events,
- N is the number of actors,
- P is the number of sender rate statistics.
An array of dimensions M x D x Q, where:
- M is the number of events,
- D is the number of dyads in the risk set,
- Q is the number of receiver choice statistics.
A named list of rate model parameters corresponding to the specified rate statistics.
A named list of choice model parameters corresponding to the specified choice statistics.
A matrix with columns (sender, receiver) representing
the risk set used in the simulation.
A data.frame mapping the actor names provided by the user
to the integer IDs used in internal computations.
#'
A A numeric or data.frame object representing the network initialization,
which can be a number of random initialization events or
a data.frame specifying pre-existing ties.
A formula object specifying the effects included in the rate sub-model.
A formula object specifying the effects included in the choice sub-model.
A numeric value indicating the density of the generated network,
defined as the number of observed ties divided by N*(N-1), where
N is the number of actors.
Lakdawala, R., Mulder, J., & Leenders, R. (2025). *Simulating Relational Event Histories: Why and How*. arXiv:2403.19329.
# 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 rateform <- ~ remulate::baseline(-6) + remulate::indegreeSender(0.01) + remulate::send(0.02, variable = "age", attr_actors = cov) + remulate::interact(0.01, indices = c(2, 3)) choiceform <- ~ remulate::inertia(0.01) + remulate::reciprocity(-0.03) + remulate::interact(0.01, indices = c(2, 1)) # Calling remulateActor remulate::remulateActor( rateform, choiceform, actors = 1:25, endTime = 100, initial = 200, events = 500, ) # 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::remulateActor( rateform, choiceform, actors = 1:25, endTime = 200, initial = initialREH, events = 500 )# 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 rateform <- ~ remulate::baseline(-6) + remulate::indegreeSender(0.01) + remulate::send(0.02, variable = "age", attr_actors = cov) + remulate::interact(0.01, indices = c(2, 3)) choiceform <- ~ remulate::inertia(0.01) + remulate::reciprocity(-0.03) + remulate::interact(0.01, indices = c(2, 1)) # Calling remulateActor remulate::remulateActor( rateform, choiceform, actors = 1:25, endTime = 100, initial = 200, events = 500, ) # 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::remulateActor( rateform, choiceform, actors = 1:25, endTime = 200, initial = initialREH, events = 500 )
This page lists the effects that are available in the remulate package for the actor-oriented relational event model.
remulateActorEffects(rateEffects = TRUE, choiceEffects = TRUE)remulateActorEffects(rateEffects = TRUE, choiceEffects = TRUE)
rateEffects |
Logical. If TRUE, includes rate effects (i.e sender-rate effects) of the actor-oriented relational event model. If FALSE, rate effects are excluded. |
choiceEffects |
Logical. If TRUE, includes choice effects (i.e receiver-choice effects) of the actor-oriented relational event model. If FALSE, choice effects are excluded. |
The attr_actors object contains at least three columns (actor,time,attribute). It should be constructed as follows: Each row refers to the attribute value of actor i at timepoint t. The first column contains the actor names (corresponding to the vector of names in the actors argument of remulateActor). The second column contains the time when attributes change (set to zero if the attributes do not vary over time). Subsequent columns contain the attributes that are called in the specifications of exogenous statistics. The same attr_actors object can be used with multiple exogenous statistics.
Returns a character vector of available effects for the rateEffects or choiceEffects argument for the function remulateActor.
#To specify an exogenous effect (example: same)
cov <- data.frame( actor = 1:10, time = rep(0, 10), gender = sample(c(0, 1), replace = TRUE, 10), age = sample(20:30, 10, replace = TRUE) )
effects <- ~ same(0.2, variable = "gender", attr_actors = cov)
#Rate Effects:
#If parameter is constant
rateEffects <- ~ outdegreeSender(0.3) + send(0.1, variable = "age", attr_actors = cov)
#If parameter varies with time
rateEffects <- ~ outdegreeSender(param = function(t) exp(-t)) + send(0.1, variable = "age", attr_actors = cov)
#Choice Effects:
#If parameter is constant
choiceEffects <- ~ inertia(0.4) + reciprocity(-0.1) + same(0.2, variable = "gender", attr_actors = cov) + receive(0.1, variable = "age", attr_actors = cov)
#If parameter varies with time
choiceEffects <- ~ inertia(param = function(t) exp(-t)) + reciprocity(-0.1) + same(0.2, variable = "gender", attr_actors = cov) + receive(0.1, variable = "age", attr_actors = cov)
Endogenous effects:
baselineBaseline tendency for actors to create events. The statistic equals to 1 for all actors in the riskset. The parameter for baseline controls the average number of events per unit time.
indegreeSender In degree effect of the sender is the tendency for actor i to create an event when i has received more events in the past. The statistic at timepoint t for dyad (i,j) is equal to the number of events received by actor i before timepoint t. Note: if scaling is "prop" for indegreeSender, the statistic for dyad (i,j) at time t is divided by the total degree of the sender i at time t.
outdegreeSenderOut degree effect of sender is the tendency for actor i to create an event when i has sent more events in the past. Note: if scaling is "prop" for outdegreeSender, the statistic for dyad (i,j) at time t is divided by the total degree of the sender i at time t.
totaldegreeSenderTotal degree effect of sender is the tendency for actor i to create an event when i has sent and received more events in the past.
ospSenderOutgoing Shared Partners actor effect is the tendency for actor i to create an event if actor i is the source in a transitive structure (i->h<-j<-i).
otpSenderOutgoing Two Path actor effect is the tendency for sender i to create an event if actor i is the source in a transitive structure (i->h->j<-i).
Exogenous effects:
sendThe tendency for actor i to create an event when i has a high attribute value.
Endogenous effects (Dyad statistics):
inertiaInertia is the tendency to create an event i->j if the event i->j occurred in the past. The statistic at timepoint t for dyad (i,j) is
equal to the number of (i,j) events before timepoint t. Note: if scaling is "prop" for inertia, the statistic for dyad (i,j) at time t is divided by the out degree of the sender i at time t.
reciprocityReciprocity is the tendency to create an event i->j if j->i occurred in the past.The statistic at timepoint t for dyad (i,j) is
equal to the number of (j,i) events before timepoint t. Note: if scaling is "prop" for inertia, the statistic for dyad (i,j) at time t is divided by the in degree of the sender i at time t.
tieTie effect is the tendency to create an event i->j if the event i->j occurred at least once in the past. The statistic at timepoint t for dyad (i,j) is equal to 1 if a an event i->j occurred before timepoint t
Endogenous effects (Triadic statistics):
otpOutgoing Two Path effect is the tendency to create an event i->j if they have past outgoing two-paths between them (i->h->j). The statistic for dyad (i,j) at timepoint t is equal to the minimum of past (i,h), (h,j) events, summed over all h.
itpIncoming Two Path effect is the tendency to create an event i->j if they have past incoming two-paths between them (i<-h<-j). The statistic for dyad (i,j) at timepoint t is equal to the minimum of past (j,h), (h,i) events, summed over all h.
ospOutgoing Shared Partners effect is the tendency to create an event i->j if they have past outgoing shared partners between them (i->h<-j). The statistic for dyad (i,j) at timepoint t is equal to the minimum of past (i,h), (j,h) events, summed over all h.
ispIncoming Shared Partners effect is the tendency to create an event i->j if they have past incoming shared partners between them (i<-h->j). The statistic for dyad (i,j) at timepoint t is equal to the minimum of past (h,i), (h,j) events, summed over all h.
Endogenous effects (Node statistics):
indegreeReceiverIn degree effect of receiver is the tendency to create an event i->j if j has received more events in the past. The statistic at timepoint t for dyad (i,j) is equal to the number of events received by actor j before timepoint t. Note: if scaling is "prop" for indegreeReceiver, the statistic for dyad (i,j) at time t is divided by the total degree of the receiver j at time t.
outdegreeReceiverOut degree effect of receiver is the tendency to create an event i->j if j has sent more events in the past. Note: if scaling is "prop" for outdegreeReceiver, the statistic for dyad (i,j) at time t is divided by the total degree of the receiver j at time t.
totaldegreeReceiverTotal degree effect of receiver is the tendency to create an event i->j if j has sent and received more events in the past.
Exogenous effects:
dyadDyadic attribute value is tendency to create an event i -> j when (i,j) has a high attribute value.
receiveReceiver attribute value is the tendency to create an event i->j when j has a high attribute value.
sameSame attribute value (Homophily) is the tendency to create an event i->j if actors i and j have the same attribute values
Differencedifference attribute value (Heterophily) is the tendency to create an event i->j if actors i and j have a high absolute difference in attribute values
A function to simulate relational event data by sampling from a tie-oriented relational event model.
remulateTie( effects, actors, endTime, events = NULL, startTime = 0, initial = 0, riskset = NULL, memory = c("full", "window", "window_m", "decay"), memoryParam = NULL )remulateTie( effects, actors, endTime, events = NULL, startTime = 0, initial = 0, riskset = NULL, memory = c("full", "window", "window_m", "decay"), memoryParam = NULL )
effects |
A |
actors |
A numeric or character vector representing the actor names. |
endTime |
A numeric value specifying the end time up to which the network should be simulated. |
events |
[Optional] An integer specifying the maximum number of events to simulate. |
startTime |
[Optional] A numeric value (default = 0) indicating the time at which the simulation should start. |
initial |
[Optional] A numeric or |
riskset |
[Optional] A |
memory |
[Optional] A string (default = "full") specifying the memory type used for computing statistics. '"full"' uses the entire event history. '"window"' considers only events occurring within a specified time window. '"window_m"' considers only a specified number of most recent events. '"decay"' applies an exponential decay, where older events contribute less based on elapsed time. |
memoryParam |
[Optional] A numeric value (> 0) defining the memory parameter based on the selected memory type. ‘"window"' defines the length of the time window. '"window_m"' specifies the number of past events to consider. '"decay"' represents the half-life (i.e., time until an event’s weight is reduced to half). |
If time is irrelevant and only a specific number of events are desired, set time to Inf. If both time and events are supplied then the function stops simulating whenever the first stop condition is met
If effects is a 'remstimate' object, then the params are extracted automatically.
Furthermore if exogenous statistics are used, the data.frames corresponding to
the 'attr_actors' argument of the 'remstats' formula must be loaded in the environment.
A list of available statistics. See remulateTieEffects for details:
baseline(param)
send()
receive()
dyad()
same()
difference()
average()
minimum()
maximum()
inertia()
reciprocity()
tie()
indegreeSender()
indegreeReceiver()
outdegreeSender()
outdegreeReceiver()
totaldegreeSender()
totaldegreeReceiver()
otp()
itp()
osp()
isp()
psABBA()
psABBY()
psABXA()
psABXB()
psABXY()
psABAY()
recencyContinue()
recencySendSender()
recencySendReceiver()
recencyReceiveSender()
recencyReceiveReceiver()
rrankSend()
rrankReceive()
interact()
An object of class "remulateTie". A data.frame containing the simulated event sequence with columns (time, sender, receiver).
The "remulateTie" object has the following attributes:
An array with dimensions M x D x P, where M is the number of events,
D is the number of dyads in the risk set, and P is the number of computed statistics.
A matrix containing the event list with columns (dyad, time),
where dyad represents the index of the (sender, receiver) pair in the risk set.
A data.frame mapping the actor names provided by the user
to the integer IDs used in internal computations.
A data.frame with columns (sender, receiver) containing
the risk set used for dyad indices in the computed statistics and event list.
A A numeric or data.frame object representing the network initialization,
which can be a number of random initialization events or
a data.frame specifying pre-existing ties.
A formula object specifying the effects included in the model.
A numeric value indicating the density of the generated network,
defined as the number of observed ties divided by N*(N-1), where
N is the number of actors.
Lakdawala, R., Mulder, J., & Leenders, R. (2025). *Simulating Relational Event Histories: Why and How*. arXiv:2403.19329.
# 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 )# 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 )
This page lists the effects that are available in the remulate package for the tie oriented relational event model.
remulateTieEffects(endogenous = NULL)remulateTieEffects(endogenous = NULL)
endogenous |
Logical or NULL. If 'TRUE', returns only endogenous effects. If 'FALSE', returns only exogenous effects. If 'NULL' (default), returns both endogenous and exogenous effects. |
The attr_actors object for exogenous effects based on actor covariates (send, receive, same, difference, average, max, min) contains at least three columns (actor,time,attribute). It should be constructed as follows: Each row refers to the attribute value of actor i at timepoint t. The first column contains the actor names (corresponding to the vector of names in the actors argument of remulateTie). The second column contains the time when attr_actors change (set to zero if the attr_actors do not vary over time). At least one of the subsequent columns must contain values for the attr_actors with column name corresponding to variable name specified in the effect specification.
The attribute object for exogenous effect dyad contains at least three columns (sender_id,receiver_id,attribute). It should be constructed as follows: First column must contain sender id, second column receiver id, at least one of the subsequent columns must contain values for the attr_actors with column name corresponding to variable name specified in the effect specification.
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
The indices aregument in the interact effect corresponds to the position of the specified effects in the effects argument of remulateTie for which the interaction needs to be computed. The individual constitutive effects for an interaction must be specified before the interact term in the effects argument. To omit the individual constitutive effects in the generation, specify the param arugment to zero.
Returns a character vector of available effects for the effects argument for the function remulateTie.
baselineBaseline tendency for dyads to create events. The statistic equals to 1 for all dyads (i,j) in the riskset. The parameter for baseline controls the average number of events per unit time.
Endogenous effects (Dyad statistics):
inertiaInertia is the tendency to create an event i->j if the event i->j occurred in the past. The statistic at timepoint t for dyad (i,j) is
equal to the number of (i,j) events before timepoint t. Note: if scaling is "prop" for inertia, the statistic for dyad (i,j) at time t is divided by the out degree of the sender i at time t.
reciprocityReciprocity is the tendency to create an event i->j if j->i occurred in the past.The statistic at timepoint t for dyad (i,j) is
equal to the number of (j,i) events before timepoint t. Note: if scaling is "prop" for reciprocity, the statistic for dyad (i,j) at time t is divided by the in degree of the sender i at time t.
tieTie effect is the tendency to create an event i->j if the event i->j occurred at least once in the past. The statistic at timepoint t for dyad (i,j) is equal to 1 if a an event i->j occurred before timepoint t
Endogenous effects (Triadic statistics):
otpOutgoing Two Path effect is the tendency to create an event i->j if they have past outgoing two-paths between them (i->h->j). The statistic for dyad (i,j) at timepoint t is equal to the minimum of past (i,h), (h,j) events, summed over all h.
itpIncoming Two Path effect is the tendency to create an event i->j if they have past incoming two-paths between them (i<-h<-j). The statistic for dyad (i,j) at timepoint t is equal to the minimum of past (j,h), (h,i) events, summed over all h.
ospOutgoing Shared Partners effect is the tendency to create an event i->j if they have past outgoing shared partners between them (i->h<-j). The statistic for dyad (i,j) at timepoint t is equal to the minimum of past (i,h), (j,h) events, summed over all h.
ispIncoming Shared Partners effect is the tendency to create an event i->j if they have past incoming shared partners between them (i<-h->j). The statistic for dyad (i,j) at timepoint t is equal to the minimum of past (h,i), (h,j) events, summed over all h.
Endogenous effects (Node statistics):
indegreeSender In degree effect of the sender is the tendency
to create an event i->j if i has received more events in the past.
The statistic at timepoint t for dyad (i,j) is equal to the number of events
received by actor i before timepoint t. Note: if scaling is "prop" for indegreeSender,
the statistic for dyad (i,j) at time t is divided by the number of past events until time t.
indegreeReceiverIn degree effect of receiver is the tendency
to create an event i->j if j has received more events in the past. The statistic at timepoint t for dyad (i,j) is equal to the number of events received by actor j before timepoint t. Note: if scaling is "prop" for indegreeReceiver, the statistic for dyad (i,j) at time t is divided by the number of past events until time t.
outdegreeSenderOut degree effect of sender is the tendency
to create an event i->j if i has sent more events in the past. Note: if scaling is "prop" for outdegreeSender, the statistic for dyad (i,j) at time t is divided by by the number of past events until time t.
outdegreeReceiverOut degree effect of receiver is the tendency to create an event i->j if j has sent more events in the past. Note: if scaling is "prop" for outdegreeReceiver, the statistic for dyad (i,j) at time t is divided by the number of past events until time t.
totaldegreeSenderTotal degree effect of sender is the tendency to create an event i->j if i has sent and received more events in the past.
totaldegreeReceiverTotal degree effect of receiver is the tendency to create an event i->j if j has sent and received more events in the past.
Endogenous effects (Participating Shifts):
psABBAAB-BA Pacticipating shift (turn receiving) is the tendency to create an event j->i at timepoint t if event i->j occurred at timepoint t-1. The psABBA statistic is equal to one for the dyad (j.i) that will create the participation shift at timepoint t.
psABBYAB-BY Participating shift (turn receiving) is the tendency to create an event j->h at timepoint t if event i->j occurred at timepoint t-1. The psABBY statistic is equal to one for the dyads (j,h) for all h not equal to i, that will create the participation shift at timepoint t.
PSABAYAB-AY Participating shifts (turn continuing) is the tendency to create an event i->h at timepoint t if event i->j occurred at timepoint t-1. The PSABAY statistic is equal to one for the dyads (i,h) for all h not equal to j, that will create the participation shift at timepoint t.
psABXAAB-XA Participating shifts (turn usurping) is the tendency to create an event h->i at timepoint t if event i->j occurred at timepoint t-1. The psABXA statistic is equal to one for the dyads (h,i) for all h not equal to j, that will create the participation shift at timepoint t.
psABXBAB-XB Participating shifts (turn usurping) is the tendency to create an event h->j at timepoint t if event i->j occurred at timepoint t-1. The psABXB statistic is equal to one for the dyads (h,j) for all h not equal to i, that will create the participation shift at timepoint t.
psABXYAB-XY Participating shifts (turn usurping) is the tendency to create an event h->k at timepoint t if event i->j occurred at timepoint t-1. The psABXB statistic is equal to one for the dyads (h,k) for all h not equal to i and k not equal to j, that will create the participation shift at timepoint t.
Endogenous effects (Recency statistics):
recencyContinueThe recencyContinue effect refers to a recency statistic similar to what is described in Vu et al. (2017) and Mulder and Leenders (2019). For each timepoint t, for directed dyad (i,j) the statistic is equal to 1/(the time that has past since the dyad was last active + 1).
recencySendSenderThe recencySendSender effect refers to a recency statistic similar to what is described in Vu et al. (2017) and Mulder and Leenders (2019). For each timepoint t, for directed dyad (i,j) the statistic is equal to 1/(the time that has past since sender i was last active as sender + 1).
recencySendReceiverThe recencySendReceiver effect refers to a recency statistic similar to what is described in Vu et al. (2017) and Mulder and Leenders (2019). For each timepoint t, for directed dyad (i,j) the statistic is equal to 1/(the time that has past since receiver j was last active as sender + 1).
recencyReceiveSenderThe recencyReceiveSender effect refers to a recency statistic similar to what is described in Vu et al. (2017) and Mulder and Leenders (2019). For each timepoint t, for directed dyad (i,j) the statistic is equal to 1/(the time that has past since sender i was last active as receiver + 1).
recencyReceiveReceiverThe recencyReceiveReceiver effect refers to a recency statistic similar to what is described in Vu et al. (2017) and Mulder and Leenders (2019). For each timepoint t, for directed dyad (i,j) the statistic is equal to 1/(the time that has past since receiver j was last active as receiver + 1).
Exogenous effects (Node attr_actors):
sendSender covariate: The tendency to create an event i->j when i has a high attribute value.
receiveReceiver covariate: The tendency to create an event i->j when j has a high attribute value.
Exogenous effects (Tie Attribute):
dyaddyad attribute value is the tendency to create an event i -> j when (i,j) has a high attribute value.
same(Homophily) is the tendency to create an event i->j if actors i and j have the same attribute values
difference(Heterophily) is the tendency to create an event i->j if actors i and j have a high absolute difference in attribute values
averageaverage attribute value for dyad (i,j) is the average of the attribute values for actors i, j
minimumminimum attribute value for dyad (i,j) is the smaller of the attribute values for actors i , j
maximummaximum attribute value for dyad (i,j) is the bigger of the attribute values for actors i , j
#To specify an endogenous effect (example: inertia) effects <- ~ inertia(0.1, scaling = "std") #To specify an exogenous effect (example: same) cov <- data.frame( actor = 1:10, time = rep(0, 10), gender = sample(c(0, 1), replace = TRUE, 10), age = sample(20:30, 10, replace = TRUE) ) effects <- ~ same(0.2, variable = "gender", attr_actors = cov) #To specify an exogenous dyadic effect (example: dyad) cov <- expand.grid(1:10, 1:10) cov <- cov[cov[, 1] != cov[, 2], ] cov$grade <- runif(90, 1, 10) effects <- ~ dyad(0.2, variable = "grade", attr_actors = cov) #If parameter is constant effects <- ~ inertia(0.3) + same(0.2, variable = "gender", attr_actors = cov) + reciprocity(-0.1) + itp(0.01) #If parameter varies with time effects <- ~ inertia(param = function(t) exp(-t)) + same(0.2, variable = "gender", attr_actors = cov) + reciprocity(-0.1) + itp(0.01) #If parameter varies across dyads or actors rs <- expand.grid(1:10,1:10) rs <- rs[rs[,1] != rs[, 2],] param_df <- as.data.frame(rs) param_df$beta = runif(nrow(rs),-0.1,0.1) effects <- ~ remulate::baseline(-3)+ remulate::inertia(param_df) + remulate::reciprocity(0.1) #To specify an interaction (example: between inertia and same constitutive effects) effects <- ~ inertia(0.3) + same(0.2, variable = "gender", attr_actors = cov) + reciprocity(-0.1) + itp(0.01) + interact(0.1, indices = c(1, 2))#To specify an endogenous effect (example: inertia) effects <- ~ inertia(0.1, scaling = "std") #To specify an exogenous effect (example: same) cov <- data.frame( actor = 1:10, time = rep(0, 10), gender = sample(c(0, 1), replace = TRUE, 10), age = sample(20:30, 10, replace = TRUE) ) effects <- ~ same(0.2, variable = "gender", attr_actors = cov) #To specify an exogenous dyadic effect (example: dyad) cov <- expand.grid(1:10, 1:10) cov <- cov[cov[, 1] != cov[, 2], ] cov$grade <- runif(90, 1, 10) effects <- ~ dyad(0.2, variable = "grade", attr_actors = cov) #If parameter is constant effects <- ~ inertia(0.3) + same(0.2, variable = "gender", attr_actors = cov) + reciprocity(-0.1) + itp(0.01) #If parameter varies with time effects <- ~ inertia(param = function(t) exp(-t)) + same(0.2, variable = "gender", attr_actors = cov) + reciprocity(-0.1) + itp(0.01) #If parameter varies across dyads or actors rs <- expand.grid(1:10,1:10) rs <- rs[rs[,1] != rs[, 2],] param_df <- as.data.frame(rs) param_df$beta = runif(nrow(rs),-0.1,0.1) effects <- ~ remulate::baseline(-3)+ remulate::inertia(param_df) + remulate::reciprocity(0.1) #To specify an interaction (example: between inertia and same constitutive effects) effects <- ~ inertia(0.3) + same(0.2, variable = "gender", attr_actors = cov) + reciprocity(-0.1) + itp(0.01) + interact(0.1, indices = c(1, 2))
This function specifies the input for the rrankReceive effect in the formula argument for the function remulateTie. Not to be used independently
rrankReceive(param = NULL)rrankReceive(param = NULL)
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the rrankSend effect in the formula argument for the function remulateTie. Not to be used independently
rrankSend(param = NULL)rrankSend(param = NULL)
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the same effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
same(param = NULL, variable, attr_actors, scaling = c("none", "std"))same(param = NULL, variable, attr_actors, scaling = c("none", "std"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
variable |
character vector specifies the name of the column with covariate value in attr_actors data.frame |
attr_actors |
data.frame object with rows specifying values of attr_actors for an actor. First column must contain actor id, Second column time when covariate value changes (default zero if no change), Third column contains values for the attributes with column name corresponding to variable name |
scaling |
specifies the method for scaling the statistic. |
Dyadic covariate: (Homophily) is the tendency to create an event i->j if actors i and j have the same attribute values
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the send effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
send(param = NULL, variable, attr_actors, scaling = c("none", "std"))send(param = NULL, variable, attr_actors, scaling = c("none", "std"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
variable |
character vector specifies the name of the column with covariate value in data dataframe |
attr_actors |
data.frame object with rows specifying values of data for an actor. First column must contain actor id, Second column time when covariate value changes (default zero if no change), Third column contains values for the data with column name corresponding to variable name |
scaling |
specifies the method for scaling the statistic. |
Sender covariate: The tendency to create an event i->j when i has a high attribute value.
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the tie effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
tie(param = NULL, scaling = c("none", "std"))tie(param = NULL, scaling = c("none", "std"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
scaling |
the method for scaling the tie statistic. |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the totaldegreeReceiver effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
totaldegreeReceiver(param = NULL, scaling = c("none", "std", "prop"))totaldegreeReceiver(param = NULL, scaling = c("none", "std", "prop"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
scaling |
the method for scaling the totaldegreeReceiver statistic. |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.
This function specifies the input for the totaldegreeSender effect in the formula argument for the function remulateTie or remulateActor. Not to be used independently
totaldegreeSender(param = NULL, scaling = c("none", "std", "prop"))totaldegreeSender(param = NULL, scaling = c("none", "std", "prop"))
param |
numeric value, data.frame or function with time parameter. Specifies the value of the effect for the statistic in the REM model |
scaling |
the method for scaling the totaldegreeSender statistic. |
if param is a data frame, it must have three columns: sender, receiver, and value (numeric), representing the parameter value for thay dyadic pair. The data.frame must contain all pairs of actors or dyads corresponding to the riskset.
if param is a function, it's first argument must be 't', corresponding to the time. The function may have additional arguments.
List with all information required by ‘remulate::remulateTie()' or ’remulate::remulateActor()' to compute the statistic.