## Changes in version 1.5.0 + DOC: added `inst/COPYRIGHTS` and `DESCRIPTION` acknowledgements for code translated from the Brain Connectivity Toolbox (Rubinov & Sporns, 2010), plus provenance notes in the help pages + FIX: `un.direct` paired the lower and upper triangles incorrectly for networks with four or more nodes + FIX: unweighted `betweenness` for complete networks (diameter of one) + FIX: `betweenness` and `distance` symmetrized weighted networks with `(G + G) / 2` instead of `(G + t(G)) / 2` + FIX: `betweenness` rounded values to whole numbers, which distorted fractional values (e.g., unweighted networks or tied shortest paths); values are now rounded to three decimals + FIX: `participation`, `diversity`, and `gateway` returned values outside of their range for the `overall` (sign-ignored) coefficient of signed networks; absolute weights are now used + FIX: `depend` averaged over the node itself (a zero) in addition to the other nodes, deflating dependencies by (n - 2) / (n - 1); the average is now over all other nodes (Kenett et al., 2010) + FIX: `ECO` counted the diagonal toward the number of edges kept, so only n / 2 (undirected) or 2n (directed) edges were retained instead of 1.5n or 3n; this also affects `ECOplusMaST` + FIX: `is.graphical` always returned `TRUE` for invertible networks because it checked the positive semi-definiteness of a matrix that is positive semi-definite by construction; it now checks the standardized inverse covariance matrix (`I - A`) + FIX: `threshold` with `thresh = "FDR"` included the diagonal and both triangles in the false discovery rate estimation; each pair of variables is now tested once + FIX: `diversity`, `participation`, `gateway`, `comm.str`, `comcat`, and `rspbc` for communities with a single node (or with all but one node) + FIX: character community labels that look like numbers (e.g., `"1"`, `"2"`) were overwritten in `diversity`, `participation`, and `gateway` + FIX: `comcat` labeled the column of a single community with the community detection method instead of the community + FIX: `comm.str` ordered community labels as text (e.g., `"10"` before `"2"`) + FIX: `stable` accepted `cent = "hybrid"` but did not compute it + FIX: `louvain` computed modularity (`Q`) with signed weights after taking absolute values and overwrote the user's random number generator state + FIX: `transitivity` now ignores the diagonal and checks that the input is square (values could exceed one) + FIX: `strength` and `degree` errored for directed networks with an isolated node + FIX: `TMFG`, `LoGo`, and `depend` with `na.data = "listwise"` and `normal = FALSE` (correlation matrix was never computed) + FIX: `MaST` and `threshold` overwrote the correlation matrix computed for `na.data = "pairwise"`, `"listwise"`, and `"fiml"` + FIX: `threshold` with `thresh = "adaptive"` (arguments passed to `adapt.a` incorrectly), `"bonferroni"` (operator precedence in the number of comparisons), and `"FDR"` (critical value could be negative) + FIX: `MaST` and `TMFG` with `depend = TRUE` returned symmetric networks; `MaST` returned absolute values instead of signed values; `MaST` errored for networks with disconnected components + FIX: `ECO` with `directed = TRUE` only returned the diagonal + FIX: `ECOplusMaST` doubled the weight of shared positive edges and cancelled shared negative edges + FIX: `MFCF` default settings and `time.series = TRUE` errored; `LoGo` errored when there were no separators + FIX: symmetrization of networks in `LoGo`, `sim.swn`, and `edgerep` mixed up edge weights + FIX: `sim.swn` simulated network did not correspond to the partial correlations of the simulated data + FIX: `sim.chordal` errored with the default `inverse` argument + FIX: `network.permutation` errored when using `prev.perm` from a global network measure + FIX: `core.items` placed items in more than one tier for communities with one or two items + FIX: `lattnet` removed edges from every band (not only the last band) and never finished when `edges` exceeded the number of possible edges + FIX: `randnet` created an edge when `edges = 0` and errored for directed networks + FIX: `edgerep` duplicated or dropped edges with tied weights, errored with fewer than two replicated edges, and overestimated `sdDiff` + FIX: `resp.rep` errored when no items were reverse coded, when responses had missing values, or when the minimum response was not one + FIX: `depend` printed to the console and errored for matrices when `normal = FALSE` and `na.data = "pairwise"`; `fisher = TRUE` errored when `index = FALSE` + FIX: `depna` now passes `...` to `depend`, defaults `cores`, and uses the connectivity matrices as input + FIX: `desc` and `desc.all` errored when `shapiro.test` could not be computed (missing values or more than 5000 cases) and when no variables were numeric + FIX: `convertConnBrainMat` removed the wrong entries when dropping grey matter, white matter, and CSF, and stored `Z` dimension names as matrices + FIX: `cpmIVperm` p-values were always one because permuted results were discarded and correlations were compared as text + FIX: `cpmFPperm` did not permute the sessions + FIX: `cpmEV` ignored `thresh`, used the wrong degrees of freedom, errored with `overlap = FALSE`, reported MAE and RMSE for the last participant only, reported the positive RMSE for the full model, and returned the wrong masks + FIX: `cpmFP` and `cpmFPperm` errored when the networks were not symmetric + FIX: `cpmIV` errored with `covar` when `cores` was not provided + FIX: `cpmIV` with `connections = "overall"` and `model = "cubic"` errored (copy-paste errors in variable names) and the vectorization of training networks was fragile + FIX: `cpmPlot` now gives an informative error when the number of nodes does not match a supported atlas + FIX: `plot.cpm` did not draw negative predictions, used positive predictions for the negative panel with missing values, used the wrong x-axis limits, assigned group colors in sorted rather than data order, and placed labels outside of the plot for positive scores + UPDATE: `cpmIV` `method = "mean"` now averages the selected edges (previously it was proportional to the sum, so predictions are unchanged) + UPDATE: `cpmIVperm` now requires `iter` to be at least two + UPDATE: `desc` and `desc.all` now return numeric columns (previously all columns were character) + UPDATE: `louvain` restores the random number generator state of the user on exit + UPDATE: `lattnet` and `randnet` now error when `edges` exceeds the number of possible edges + UPDATE: documentation for `pathlengths` (`diameter`) and `conn` (`density`) now matches their outputs + REMOVE: `methods.R` (duplicate of `plot.cpm.R`) and unused `.onload` function + UPDATE: package startup message no longer lists the maintainer's affiliation and contributors (see `DESCRIPTION`) + DOC: `@aliases` in the `cpm` and `gain.functions` help pages are now on a single line ## Changes in version 1.4.3 + FIX: `participation` coefficient values were in the reverse direction + FIX: `depend` diagonal fixed to 0 instead of 1 ## Changes in version 1.4.2 + ADD: full four inventories of openness to experience data from Christensen, Cotter, and Silvia (2019). See `?openness` + FIX: `lattnet` for larger networks ## Changes in version 1.4.1 + ADD: k-folds validation is now implemented in `cpmIV` + ADD: `cpmIVperm` allows for permutation of `cpmIV` results + FIX: NA communities throwing bad labels in `stable` and `comcat` + FIX: `diversity`, `gateway`, and `participation` bug when communities lengths equal one ## Changes in version 1.4.0 + ADD: `dCor.parallel` parallelizes the `dCor` function to improve processing speed + ADD: `dCor` computes the distance correlation for time series data (intended for use with `cpm`) + FIX: named communities into `comcat` and `stable` + FIX: where `comcat` and `stable` treats `NA` community membership as actual membership -- corrects `EGAnet::net.loads` outputs + FIX: `comcat` and `stable` for *EGAnet* ## Changes in version 1.3.3 + REMOVE: `node.redundant` function migrated to the *EGAnet* package + ADD: `network.permutation` to compute permutation tests for network measures + CHANGE: `net.coverage` renamed to `network.coverage` ## Changes in version 1.3.2 + UPDATE: Description file + UPDATE: citation ## Changes in version 1.3.1 + FIX: `TMFG` bug ## Changes in version 1.3.0 + UPDATE: converged all Connectome Predictive Modeling into one documentation see `?cpm` + REMOVE: `net.scores` and `net.loads` migrated to the 'EGAnet' package + ADD: several new functions to implement the latest state-of-the-art Information Filtering Network method: Maximally Filtered Clique Forest (MFCF; thanks Guido!) + ADD: Guido Previde Massara as a contributor + CHANGE: `strength.dim` changed to `lnet.loads` and updated documentation + ADD: information about 'NetworkToolbox' on package load + CHANGE: `nams` changed to `lnet.score`, function optimized to be more efficient with large datasets, and updated documentation + ADD: `item.overlap` to detect redundant nodes in a network + ADD: `strength.dim` to identify within and between dimension node strength + ADD: `absolute` argument for `strength` and `stable` functions (extension for EGA package) + UPDATE: additional updates to documentation + FIX: bug for one dimension in `comcat` + CHANGE: `rspbc` output is now a vector ## Changes in version 1.2.3 + REMOVE: `isSym` function + FIX: bugs in `degree`, `strength`, `hybrid`, and `edgerep` functions (symmetric matrix check is fixed) + FIX: naming order bug in `comcat` + REMOVE: `bootgen` and `bootgen.plot` functions (experimental functions that may return later) + UPDATE: documentation for several functions ## Changes in version 1.2.2 + ADD: `comcat` functionality to compute connectivity across communities or for each community + ADD: `stable` closeness centrality + ADD: `desc` descriptive statistics function for a single variable + ADD: `desc.all` descriptive statistics function for a dataset ## Changes in version 1.2.1 + UPDATE: `comm.close` algorithm: takes the reciprocal of the mean ASPL of each community + UPDATE: `LoGo` removed some arguments, added `...` for deprecated arguments (e.g., `standardize`) + ADD: `rep.resp` function to detect repetitive responding ## Changes in version 1.2.0 + ADD: `net.coverage` to examine the coverage of a subset of nodes in the network + ADD: `comm.close` to estimate the closeness centrality of communities in the network + ADD: `comm.eigen` to estimate the eigenvector centrality of communities in the network (based on the `flow.frac` function) + ADD: `comm.str` to estimate the strength/degree centrality of communities in the network + ADD: `flow.frac` to estimate the eigenvector centrality of a subset of nodes in the network + ADD: `core.items` to automatically determine core, intermediate, and peripheral items in the network + REMOVE: `commboot` + REMOVE: `splitsamp` functions (will be brought back in a future update) + REMOVE: options for `weighted` argument in network construction functions + CHANGE: `bootgenPlot` changed to `bootgen.plot` + UPDATE: significantly improved documentation and descriptions of all functions + UPDATE: improved functionality of several functions + UPDATE: citation ## Changes in version 1.1.3 + UPDATE: `nams` facet means are now adjusted relative to the overall score -- improves estimate and makes adjusted means/sums equivalent to overall adjusted score + FIX: `edgerep` node label bug + FIX: bootstrapped functions `na.data` argument bug + ADD: `commboot` unweighted network option + UPDATE: citation + REMOVE: `semnetboot` moved to package SemNetToolbox + REMOVE: `semnetmeas` moved to package SemNetToolbox + FIX: `na.data` bugs throughout package ## Changes in version 1.1.2 + UPDATE: `bootgen` ensures graphical model for `method = "LoGo"` + UPDATE: `nams` algorithm adjusted + ADD: `sim.swn` to simulate small-world networks and data + REMOVE: `PMFG` due to inefficiency + ADD: `diversity` to compute the diversity coefficient of nodes in the network + ADD: `gateway` to compute the gateway coefficient of nodes in the network + ADD: `participation` to compute the participation coefficient of nodes in the network + FIX: `edgerep` plot to display the strength of the replicated edges only and will display diagonal if diagonals are equivalent between the two matrices + ADD: `nams` output for an overall network adjusted mean/sum score + UPDATE: improved documentation + ADD: EBICglasso and Isingfit to `bootgen` and `commboot` functions + ADD: `kld` and `rmse` functions back + ADD: network visualization of canonical and macro-scale region connectivity to `cpmIV` + CHANGE: `LoGo` no longer outputs a list (only a matrix) and added a `standardize` argument for inverse correlation matrix as output (does not change partial correlation output) ## Changes in version 1.1.1 + FIX: `LoGo` reversed sign bug; `cov.shrink` no longer used for covariance matrix estimation + UPDATE: `is.graphical` updated with more efficient (inverse) covariance check + UPDATE: `bootgen` uses partial correlation significance for `method = "LoGo"` ## Changes in version 1.1.0 + ADD: new data files: NEO-PI-3 data for psychometric network analysis, verbal fluency files for semantic network analysis, behavioral NEO-PI-3 and an associated brain connectivity array for brain network analysis + UPDATE: `bootgen` no longer produces plots; added `is.graphical` to automatically check if network is graphical when `method = "LoGo"` + ADD: `bootgenPlot` output from the `bootgen` function can now be input into a separate function to obtain plots. Contains an argument to also plot the bootstrapped network generalization method + ADD: `seeds` argument in all bootstrapping functions, which can be used to replicate the previous analysis using the `Seeds` output + UPDATE: `PMFG` now outputs a list to be used in Cytoscape visualization software (`sparseList`) + ADD: `reg` to perform regression for a dataset. An argument can set the type of regression and for the matrix to be symmetric + ADD: `nams` to calculate network adjusted mean or sum for data (based on the hybrid centrality) + ADD: `hybrid` option for "standard", "random", or "average" betweenness centrality to be used + ADD: `cpmIV` parallel processing for covariate estimation (defaults to max(cores) - 1) + UPDATE: `LoGo` uses corpcor's `cov.shrink` for covariance estimation when argument `normal = TRUE`; added argument to check if network is graphical + UPDATE: `edgerep` includes a list of the replicated edges and their respective weights in each network. A plot for this information is also available (defaults to `FALSE`). Also includes an argument `corr` which allows the researcher to select different correlations for examining replicated edge weight relations + ADD: `is.graphical` to check whether the network is graphical + ADD: `cor2cov` to convert correlation matrix into a covariance matrix + FIX: `depend` Fisher's z significance test + REMOVE: `kld`