| remstats | R Documentation |
Computes statistics for modeling relational events with a tie-oriented or actor-oriented approach.
remstats(
reh,
tie_effects = NULL,
sender_effects = NULL,
receiver_effects = NULL,
start_effects = NULL,
end_effects = NULL,
memory = c("full", "window", "decay", "interval"),
memory_value = NA,
psi_start = 1,
psi_end = 1,
first = 2,
last = Inf,
display_progress = FALSE,
sampling = FALSE,
samp_num = 10L,
seed = NULL,
attr_actors = NULL,
attr_dyads = NULL
)
reh |
an object of class |
tie_effects |
an object of class |
sender_effects |
an object of class |
receiver_effects |
an object of class |
start_effects |
Formula for the start sub-model statistics. Only used
when |
end_effects |
Formula for the end sub-model statistics. Only used when
|
memory |
The memory to be used. See ‘Details’. |
memory_value |
Numeric value indicating the memory parameter. Default
is |
psi_start |
Numeric. Duration exponent for start-model history
weighting. The weight of each past event in the start statistics is
|
psi_end |
Numeric. Duration exponent for end-model history weighting.
The weight of each past event in the end statistics is
|
first |
an optional integer value, specifying the index of the first
unique time point event in the relational event history for which statistics must be
computed (see 'Details'). Default is |
last |
an optional integer value, specifying the index of the last unique time point in the relational event history for which statistics must be computed (see 'Details') |
display_progress |
should a progress bar for the computation of the endogenous statistics be shown (TRUE) or not (FALSE)? |
sampling |
Logical. If |
samp_num |
Integer. Number of dyads to include per event when
|
seed |
Optional integer. Random seed used for dyad sampling. Setting
this ensures reproducible sampling across calls. If |
attr_actors |
optionally, an object of class
|
attr_dyads |
optionally, an object of class |
An object of class 'remstats'. In case of the
tie-oriented model, an array with the computed statistics, where rows refer
to time points, columns refer to potential relational event (i.e., potential
edges) in the risk set and slices refer to statistics. In case of the
actor-oriented model, list with in the first element the statistics for the
sender activity rate step and in the second element the statistics for the
receiver choice step, where rows refer to time points, columns refer to
potential senders or receivers, respectively. Statistics are computed once
per unique time point (per-timepoint "pt" method), so the number of rows in
the output equals reh$M (the number of unique time points), which may
be less than the total number of observed events when simultaneous events
are present. The 'remstats' object has the following attributes:
modelType of model that is estimated, obtained from the remify object inputted to 'reh'.
formulaModel formula, obtained from the formula inputted to 'tie_effects', 'sender_effects' and/or 'receiver_effects', depending on the model.
risksetFor the tie-oriented model, the risk set used to construct the statistics.
actorsFor the actor-oriented model, the set of actors used to construct the statistics, obtained from the remify object inputted to 'reh'.
The statistics to be computed are defined symbolically and should be
supplied to the tie_effects (for the tie-oriented model),
sender_effects and/or receiver_effects (for the actor-oriented
model) argument in the form ~ effects. In case of events with a
duration (where reh is a remify_durem object, created with
remify(..., duration = TRUE)), statistics should instead be supplied
to start_effects and end_effects; note that events with a
duration are only supported for the tie-oriented model. The statistics terms
are separated by +
operators. For example: effects = ~ inertia() + otp(). Interactions
between two effects can be included with * or : operators. For example:
effects = ~ inertia():otp(). A list of the available effects can be
obtained with tie_effects() (tie-oriented model),
actor_effects() (actor-oriented model), and, for models of
events with a duration, active_effects() (statistics that
depend on which actors or dyads are currently active).
The majority of the statistics can be scaled in some way, see
the documentation of the scaling argument in the separate effect
functions for more information on this.
The majority of the statistics can account for the event type
included as a dependent variable, see the documentation of the
consider_type argument in the separate effect functions for more
information on this. Note that this option is only available for the
tie-oriented model.
Note that events in the relational event history can be directed or undirected. Some statistics are only defined for either directed or undirected events (see the documentation of the statistics). Note that undirected events are only available for the tie-oriented model.
The default 'memory' setting is '"full"', which implies that at each time point $t$ the entire event history before $t$ is included in the computation of the statistics. Alternatively, when 'memory' is set to '"window"', only the past event history within a given time window is considered (see Mulders & Leenders, 2019). This length of this time window is set by the 'memory_value' parameter. For example, when 'memory_value = 100' and 'memory = "window"', at time point $t$ only the past events that happened at most 100 time units ago are included in the computation of the statistics. A third option is to set 'memory' to '"interval"'. In this case, the past event history within a given time interval is considered. For example, when '"memory_value" = c(50, 100)' and 'memory = "interval"', at time point $t$ only the past events that happened between 50 and 100 time units ago are included in the computation of the statistics. Finally, the fourth option is to set 'memory' to '"decay"'. In this case, the weight of the past event in the computation of the statistics depend on the elapsed time between $t$ and the past event. This weight is determined based on an exponential decay function with half-life parameter 'memory_value' (see Brandes et al., 2009).
Note that if the relational event history contains a column that is named “weight”, it is assumed that these affect the endogenous statistics. These affect the computation of all endogenous statistics with a few exceptions that follow logically from their definition (e.g., the recenyContinue statistic does depend on time since the event and not on event weights).
It is possible to compute statistics for a segment of the relational event sequence, based on the entire event history. This is done by specifying the 'first' and 'last' values as the indices for the first and last event times for which statistics are needed. For instance, setting 'first = 5' and 'last = 5' calculates statistics for the 5th event in the relational event sequence, considering events 1-4 in the history. Note that in cases of simultaneous events 'first' and 'last' refer to indices of unique time points.
Butts, C. T. (2008). A relational event framework for social action. Sociological Methodology, 38(1), 155–200. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1111/j.1467-9531.2008.00203.x")}, Stadtfeld, C., & Block, P. (2017). Interactions, actors, and time: Dynamic network actor models for relational events. Sociological Science, 4, 318–352. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.15195/v4.a14")}
library(remstats)
# Tie-oriented model
eff <- ~ inertia():send("extraversion", attr_actors = info) + otp()
reh_tie <- remify::remify(edgelist = history, model = "tie")
remstats(reh = reh_tie, tie_effects = eff)
# Actor-oriented model
seff <- ~ send("extraversion", attr_actors = info)
reff <- ~ receive("agreeableness", attr_actors = info) + inertia() + otp()
reh_actor <- remify::remify(edgelist = history, model = "actor")
remstats(reh = reh_actor, sender_effects = seff, receiver_effects = reff)
# Model for events with a duration (tie-oriented only)
# (the baboons dataset is provided by the 'remdata' package)
if (requireNamespace("remdata", quietly = TRUE)) {
data(baboons_obs, package = "remdata")
reh_dur <- remify::remify(baboons_obs$edgelist[1:1000,], model = "tie",
directed = FALSE, duration = TRUE)
remstats(reh_dur,
start_effects = ~ inertia(scaling = "std") +
activeDegreeDyad(scaling = "std"),
end_effects = ~ totaldegreeDyad(scaling = "std"),
first = 50)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.