sem.net.edge {networksem}R Documentation

Fit a Structural Equation Model (SEM) with both network and non-network data by transforming nonnetwork data into paired values corresponding to network edge values.

Description

Fit a Structural Equation Model (SEM) with both network and non-network data by transforming nonnetwork data into paired values corresponding to network edge values.

Usage

sem.net.edge(
  model = NULL,
  data = NULL,
  type = "difference",
  ordered = NULL,
  sampling.weights = NULL,
  data.rescale = FALSE,
  group = NULL,
  cluster = NULL,
  netstats.rescale = FALSE,
  constraints = "",
  WLS.V = NULL,
  NACOV = NULL,
  ...
)

Arguments

model

A model string specified in lavaan model syntax that includes relationships among the network and non-network variables.

data

A list containing the data. The list has two named components, "network" and "nonnetwork"; "network" is a list of named adjacency matrices for the network data, and "nonnetwork" is the dataframe of non-network covariates.

type

Option for transforming nonnework data; "difference" for using the difference between two individuals as the edge covariate; "average" for using the average between two individuals as the edge covariate.

ordered

Parameter same as "ordered" in the lavaan sem() function; whether to treat data as ordinal.

sampling.weights

Parameter same as "sampling.weights" in the lavaan sem() function; whether to apply weights to data.

data.rescale

TRUE or FALSE, whether to rescale the whole dataset (with restructured network and nonnetwork data) to have mean 0 and standard deviation 1 when fitting it to SEM, default to FALSE.

group

Parameter same as "group" in the lavaan sem() function; whether to fit a multigroup model.

cluster

Parameter same as "cluster" in the lavaan sem() function; whether to fit a cluster model.

netstats.rescale

TRUE or FALSE, whether to rescale the network statistics to have mean 0 and standard deviation 1, default to FALSE.

constraints

Parameter same as "constraints" in the lavaan sem() function; whether to apply constraints to the model.

WLS.V

Parameter same as "WLS.V" in the lavaan sem() function; whether to use WLS.V estimator.

NACOV

Parameter same as "NACOV" in the lavaan sem() function; whether to use NACOV estimator.

...

Optional arguments for the sem() function.

Value

A networksem object containing the updated model specification string with the reconstructed network statistics as variables and a lavaan SEM object.

Examples

set.seed(100)
nsamp = 20
net <- data.frame(ifelse(matrix(rnorm(nsamp^2), nsamp, nsamp) > 1, 1, 0))
mean(net) # density of simulated network
lv1 <- rnorm(nsamp)
lv2 <- rnorm(nsamp)
nonnet <- data.frame(x1 = lv1*0.5 + rnorm(nsamp),
                     x2 = lv1*0.8 + rnorm(nsamp),
                     x3 = lv2*0.5 + rnorm(nsamp),
                     x4 = lv2*0.8 + rnorm(nsamp))

model <-'
  lv1 =~ x1 + x2
  lv2 =~ x3 + x4
  lv1 ~ net
  lv2 ~ lv1
'
data = list(network = list(net = net), nonnetwork = nonnet)
set.seed(100)
res <- sem.net.edge(model = model, data = data, type = 'difference')
summary(res)

[Package networksem version 0.4 Index]