
This page presents a number of RSiena scripts.
They use data sets that can be downloaded from the
Data sets page.
Firefox or Chrome will be better than Internet Explorer
for showing the scripts presented here.
Remarks about errors or improvements may be sent to the
RSiena Users' group at groups.io.
In case of an error, please do check that you are using the latest
version of RSiena (check at
RSiena at GitHub)
 the error may have been corrected already.
Error reports should be accompanied by complete data and scripts
which reproduce the error!
However, it should be noted that the functions in these scripts
do not necessarily work for all (perhaps complicated) model specifications.


Scripts
The five introductory scripts mentioned in Section 2.4
of the RSiena users' manual
are contained with a sixth piece.
 basicRSiena.r
An example of a basic sequence of commands for estimating a
model by function siena07() of RSiena.
See the associated MarkDown files:
 Rscript01DataFormat.R
with some basic information about R, networks, data formats etc;
with an example data file arclistdata.dat.

RSienaSNADescriptives.R
with some descriptives, using package sna.

Rscript02SienaVariableFormat.R
for how to specify data as variables in RSiena, and specify the model;
using the s50 data set.

Rscript03SienaRunModel.R
for how to carry out the estimation and look at the results;

Rscript04SienaBehaviour.R
for how to specify models for dynamics of networks and behaviour;
In addition there are some other scripts.

RscriptSienaMultiple.R
for how to specify models for dynamics of multiple (i.e., multivariate) networks;
this uses a
manufactured data set
(longitudinal, 2 waves, 2 networks);

RscriptSienaTimeTest.R
an example of testing time heterogeneity, using the
van de Bunt students data set.

RscriptMultipleGroups_meta.R
an example of metaanalysis with the metafor package and siena08,
and of the multiple group option, using
Chris Baerveldt's Dutch Social Behavior
data set.
This script uses friendship and delinquent behavior as dependent variables.

RscriptMultipleGroups_meta2.R
an example of metaanalysis with the metafor package and siena08,
and of the multiple group option, using
Chris Baerveldt's Dutch Social Behavior
data set.
This script uses only friendship as the dependent variable.

RscriptMultipleGroups.R
a more limited example (fewer groups) of the multiple group option and
of metaanalysis using function siena08, using
Chris Baerveldt's Dutch Social Behavior
data set.

RscriptSienaOrdered.R
an example of modeling a network with ordered ties
(i.e., valued ties with a small set of ordered categories),
by representing them as multiple, ordered networks, using the
van de Bunt students data set.

RscriptSienaBipartite.R
an example of coevolution of a onemode and several twomode networks, using
a set with substance use variables of the
Glasgow Teenage Friends and Lifestyle Study data.
This is an old script, written before the current high standards of convergence
were followed.

Two scripts showing how to analyze a twomode network as a onemode network,
using structural zeros.
This sometimes is useful because it opens up some further possibilities
to use RSiena options. The scripts use
the data set of the
Glasgow Teenage Friends and Lifestyle Study.

RscriptSienaSymmetric.R
a brief example of modeling a nondirected network, using the
s50 data set.
 Composition change in a network:
R script and data for illustration,
also see the slides.
 Simulation of networks with a given model specification:
NetworkSimulation.R.
 Goodness of fit:
An example script for how to use sienaGOF() is in
sienaGOF_vdB.R.
 Scripts to help making selection tables
(see the corresponding section in the manual):
SelectionTables.r.
 Scripts to help making influence tables
(see the corresponding section in the manual):
InfluenceTables.r.
 A script illustrating the numerical description of the distinction between
selection and influence by a decomposition of the Moran statistic
according to Steglich, Snijders & Pearson (2010, Sociological Methodology):
MoranDecompositionExample.R.
 Random coefficient multilevel estimation of the Stochastic ActorOriented
Model:
 RscriptsienaBayes_A.r,
an example script (network model only) for the function sienaBayes in multiSiena,
using a multigroup data set
from Andrea Knecht's data, of which a description
of one class is to be found here.
 RscriptsienaBayes_B.r,
an example script (network model only) for the function sienaBayes in multiSiena,
using a multigroup data set
from Andrea Knecht's data, of which a description
of one class is to be found here.
 RscriptsienaBayes_3.r,
another example script (network and behavior model) for the
function sienaBayes in multiSiena,
with a further multilevel model specification and various further options.
 RscriptsienaBayes_4.r,
another, slightly different, example script (network and behavior model) for the
function sienaBayes in multiSiena,
with a further multilevel model specification and various further options.
 The script used for Koskinen and Snijders (2023).
 BayesPlots.r,
a collection of plotting functions for sienaBayesFit objects,
produced by sienaBayes.
 A script by Robert Krause, detailing how to implement
multiple imputation of missing data as proposed in the paper
Robert W. Krause, Mark Huisman, and Tom A.B. Snijders (2018),
Multiple imputation for longitudinal network data.
Italian Journal of Applied Statistics, 30, 3357.
http://saijas.stat.unipd.it/sites/saijas.stat.unipd.it/files/10.26398IJAS.0030002.pdf
 A script by Robert Krause and Anna Iashina, detailing how to implement
multiple imputation of missing data for network and behavior studies.
 Script how to interpret the chains that are returned by siena07
when returnChains=TRUE:
 The scripts for executing the visualizations in the paper
jimi Adams and David Schaefer (2018).
Visualizing Stochastic Actorbased Model Microsteps.
Socius, "Sociological Research for a Dynamic World", Sage Publications.
DOI:
https://doi.org/10.1177/2378023118816545
Supplementary materials of the paper:
 01_Model_and_Sim.R
This file is code for running the Stochastic actororiented model,
and outputting a single chain from the results in dataframe format,
using the returnChains parameter.
See also the file WorkOnChains.r
mentioned above.
In the example included in the paper, the 50th chain from
the estimation between Waves I and II is used,
with the s50 data set internal in RSiena.
You can change these settings in the code.
 02_Visualization.R
This file takes the dataframe output from the script above,
combines it with the initial network data from the s501 datafile,
and converts those into a networkDynamic object that is visualized with the ndtv package.
The connection between the previous script and this is the dataframe called df.
Execution of this script requires that you have the networkDynamic
and ndtv packages (with dependencies) installed.
 03_Viz_Only.html (5MB)
This file is only the dynamic visualization (Figure 1 in the paper)
as an embeddable html file.
 A script for checking whether the number of runs in Phase 3
is large enough for reliable estimation of standard errors:
SE_checks.R
and a script illustrating its use:
RscriptStandardErrors.R.
 script_traceRM.R,
demonstrating the use of the option returnThetas=TRUE available
in siena07 since version 1.3.3 of RSiena.
This returns the values of parameters theta generated during
Phase 2 of the algorithm in the RobbinsMonro steps.
 GMoMscript.R,
demonstrating how to use the Generalized Method of Moments (GMoM),
since version 1.2.32.
Also see the manual,
Sections 6.9 and 6.10.
 vdB_effsize.R,
containing examples of effect size measures
using options available since version 1.3.12.
Also see the manual,
Sections 13.5.2 and 13.5.3.
 At the code website
of Nynke Niezink, there is an
R Markdown
tutorial on how to use in RSiena the model for the coevolution of networks
and continuous individual attributes.
This tutorial uses a data set
obtainable from the same website.
