Learn R Programming

EGAnet (version 2.0.7)

net.scores: Network Scores

Description

This function computes network scores computed based on each node's strength within each community in the network (see net.loads). These values are used as "network loadings" for the weights of each variable.

Network scores are computed as a formative composite rather than a reflective factor. This composite representation is consistent with no latent factors that psychometric network theory proposes.

Scores can be computed as a "simple" structure, which is equivalent to a weighted sum scores or as a "full" structure, which is equivalent to an EFA approach. Conservatively, the "simple" structure approach is recommended until further validation

Usage

net.scores(
  data,
  A,
  wc,
  loading.method = c("original", "revised"),
  rotation = NULL,
  scores = c("Anderson", "Bartlett", "components", "Harman", "network", "tenBerge",
    "Thurstone"),
  loading.structure = c("simple", "full"),
  impute = c("mean", "median", "none"),
  ...
)

Value

Returns a list containing:

scores

A list containing the standardized (std.scores) rotated (rot.scores) scores. If rotation = NULL, then rot.scores will be NULL

loadings

Output from net.loads

Arguments

data

Matrix or data frame. Should consist only of variables to be used in the analysis

A

Network matrix, data frame, or EGA object

wc

Numeric or character vector (length = ncol(A)). A vector of community assignments. If input into A is an EGA object, then wc is automatically detected

loading.method

Character (length = 1). Sets network loading calculation based on implementation described in "original" (Christensen & Golino, 2021) or the "revised" (Christensen et al., 2024) implementation. Defaults to "revised"

rotation

Character. A rotation to use to obtain a simpler structure. For a list of rotations, see rotations for options. Defaults to NULL or no rotation. By setting a rotation, scores estimation will be based on the rotated loadings rather than unrotated loadings

scores

Character (length = 1). How should scores be estimated? Defaults to "network" for network scores. Set to other scoring methods which will be computed using factor.scores (see link for arguments and explanations for other methods)

loading.structure

Character (length = 1). Whether simple structure or the saturated loading matrix should be used when computing scores. Defaults to "simple"

"simple" structure more closely mirrors sum scores and CFA; "full" structure more closely mirrors EFA

Simple structure is the more "conservative" (established) approach and is therefore the default. Treat "full" as experimental as proper vetting and validation has not been established

impute

Character (length = 1). If there are any missing data, then imputation can be implemented. Available options:

  • "none" --- Default. No imputation is performed

  • "mean" --- The mean value of each variable is used to replace missing data for that variable

  • "median" --- The median value of each variable is used to replace missing data for that variable

...

Additional arguments to be passed on to net.loads and factor.scores

Author

Alexander P. Christensen <alexpaulchristensen@gmail.com> and Hudson F. Golino <hfg9s at virginia.edu>

References

Original implementation and simulation for loadings
Christensen, A. P., & Golino, H. (2021). On the equivalency of factor and network loadings. Behavior Research Methods, 53, 1563-1580.

Preliminary simulation for scores
Golino, H., Christensen, A. P., Moulder, R., Kim, S., & Boker, S. M. (2021). Modeling latent topics in social media using Dynamic Exploratory Graph Analysis: The case of the right-wing and left-wing trolls in the 2016 US elections. Psychometrika.

Revised network loadings
Christensen, A. P., Golino, H., Abad, F. J., & Garrido, L. E. (2024). Revised network loadings. PsyArXiv.

Examples

Run this code
# Load data
wmt <- wmt2[,7:24]

# Estimate EGA
ega.wmt <- EGA(
  data = wmt,
  plot.EGA = FALSE # No plot for CRAN checks
)

# Network scores
net.scores(data = wmt, A = ega.wmt)

Run the code above in your browser using DataLab