Learn R Programming

RSiena (version 1.1-232)

sienaDependent: Function to create a dependent variable for a Siena model

Description

Creates a Siena dependent variable: either a network, created from a matrix or array or list of sparse matrix of triples; or a behavior variable, created from a matrix. sienaDependent() and sienaNet() are identical functions; the second name was used from the start of the RSiena package, but the first name indicates more precisely the purpose of this function.

Usage

sienaDependent(netarray, type=c("oneMode", "bipartite", "behavior"),
nodeSet="Actors", sparse=is.list(netarray), allowOnly=TRUE)

sienaNet(netarray, type=c("oneMode", "bipartite", "behavior"), nodeSet="Actors", sparse=is.list(netarray), allowOnly=TRUE)

Arguments

netarray

matrix (type="behavior" only) or (for the other types) array of values or list of sparse matrices of type "dgTMatrix"

type

type of network, default "oneMode"

nodeSet

character string naming the appropriate node set. A vector containing 2 character strings for a bipartite network: "rows" first, then "columns".

sparse

logical: TRUE indicates the data is in sparse matrix format, FALSE otherwise

allowOnly

logical: If TRUE, it will be detected when between any two consecutive waves the changes are non-decreasing or non-increasing, and if this is the case, this will also be a constraint for the simulations between these two waves. This is done by means of the internal parameters uponly and downonly. If FALSE, the parameters uponly and downonly always are set to FALSE, and changes in dependent variables will not be constrained to be non-decreasing or non-increasing. For normal operation, TRUE is the appropriate option.

Value

An object of class "sienaDependent". An array or (networks only) a list of sparse matrices with attributes:

netdims

Dimensions of the network or behavior variable: senders, receivers (1 for behavior), periods

type

oneMode, bipartite or behavior

sparse

Boolean: whether the network is given as a list of sparse matrices or not

nodeSet

Character string with name(s) of node set(s)

allowOnly

The value of the allowOnly parameter

Details

Adds attributes so that the array or list of matrices can be used in a Siena model fit.

References

See http://www.stats.ox.ac.uk/siena/

See Also

sienaDataCreate, sienaDataConstraint

Examples

Run this code
# NOT RUN {
mynet1 <- sienaDependent(array(c(s501, s502, s503), dim=c(50, 50, 3)))
mybeh <- sienaDependent(s50a, type="behavior")
## note that the following example works although the node sets do not yet exist!
mynet3 <- sienaDependent(array(c(s501, s502, s503), dim=c(50, 50, 3)),
       type="bipartite", nodeSet=c("senders", "receivers"))
## sparse matrix input - create some RSiena edgelists first
library(Matrix)
tmps501 <- as(Matrix(s501), "dgTMatrix")
tmps502 <- as(Matrix(s502), "dgTMatrix")
tmps503 <- as(Matrix(s503), "dgTMatrix")
mymat1 <- cbind(tmps501@i + 1, tmps501@j + 1, 1, 1)
mymat2 <- cbind(tmps502@i + 1, tmps502@j + 1, 1, 2)
mymat3 <- cbind(tmps503@i + 1, tmps503@j + 1, 1, 3)
mymat <- rbind(mymat1, mymat2, mymat3)
library(Matrix)
## mymat includes all 3 waves
mymatlist <- by(mymat, mymat[, 4], function(x)
    spMatrix(50, 50, x[, 1], x[, 2], x[, 3]))
mynet4 <- sienaDependent(mymatlist)
## or alternatively
mymat1 <- mymat[mymat[, 4] == 1, ]
mymat2 <- mymat[mymat[, 4] == 2, ]
mymat3 <- mymat[mymat[, 4] == 3, ]
mymat1s <- spMatrix(50, 50, mymat1[, 1], mymat1[, 2], mymat1[, 3])
mymat2s <- spMatrix(50, 50, mymat2[, 1], mymat2[, 2], mymat2[, 3])
mymat3s <- spMatrix(50, 50, mymat3[, 1], mymat3[, 2], mymat3[, 3])
mynet4 <- sienaDependent(list(mymat1s, mymat2s, mymat3s))
# }

Run the code above in your browser using DataLab