From e631ffb0dd252bc62a6789567f42a4a11fe9098a Mon Sep 17 00:00:00 2001 From: schochastics Date: Fri, 2 Dec 2022 16:47:28 +0100 Subject: [PATCH] addressed review https://github.com/openjournals/joss-reviews/issues/4987#issuecomment-1335336761 --- paper.bib | 35 +++++++++++++++++++++++++++++++++++ paper.md | 19 ++++++++++++------- 2 files changed, 47 insertions(+), 7 deletions(-) diff --git a/paper.bib b/paper.bib index 74d7477..d2a397f 100644 --- a/paper.bib +++ b/paper.bib @@ -215,3 +215,38 @@ @misc{fmtk-ergmdsnair-22 publisher = {{arXiv}}, doi = {10.48550/arXiv.2205.13411} } + +@article{an-dcopsnpc-20, + title = {Detecting Coalitions by Optimally Partitioning Signed Networks of Political Collaboration}, + author = {Aref, Samin and Neal, Zachary}, + year = {2020}, + journal = {Scientific Reports}, + volume = {10}, + number = {1}, + pages = {1506}, + publisher = {{Nature Publishing Group}}, + issn = {2045-2322}, + doi = {10.1038/s41598-020-58471-z} +} + +@manual{s-omsmilp-22, + title = {ompr: Model and Solve Mixed Integer Linear Programs}, + author = {Dirk Schumacher}, + year = {2022}, + note = {R package version 1.0.3}, + url = {https://CRAN.R-project.org/package=ompr}, +} + +@article{n-brpenb-22, + doi = {10.1371/journal.pone.0269137}, + author = {Neal, Zachary P.}, + journal = {PLOS ONE}, + publisher = {Public Library of Science}, + title = {backbone: An {{R}} package to extract network backbones}, + year = {2022}, + month = {05}, + volume = {17}, + url = {https://doi.org/10.1371/journal.pone.0269137}, + pages = {1-24}, + number = {5} +} diff --git a/paper.md b/paper.md index 397a624..6e84e84 100644 --- a/paper.md +++ b/paper.md @@ -42,8 +42,9 @@ social media [@klb-szmsnne-09]. General purpose packages for network analysis such as `igraph` [@cn-ispcnr-06] and `sna` [@b-snas-08] implement all commonly used network analytic methods but do not offer any functionality for signed networks. `signnet` closes this gap and makes many tools for signed -network available in R. The package has already found its place in empirical research -[@csr-avacpbsn-22;@fmtk-ergmdsnair-22]. +networks available in R. The package has already found its place in empirical research +[@csr-avacpbsn-22;@fmtk-ergmdsnair-22] and the R package `backbone` [@n-brpenb-22] uses the data +structure suggested by `signnet` for signed backbones of networks. # Implementation details The package is modeled with `igraph` compatibility in mind and follows its @@ -60,6 +61,7 @@ This section highlights some of the main methods implemented in the package. For more details for each subsection see the respective package vignette. ```R +install.packages("signnet"") library(signnet) data("tribes") # dataset included in signnet ``` @@ -93,8 +95,11 @@ frustration_exact(tribes) ``` The return value `partition` gives the optimal partition into the two node sets for -which the optimal frustration is achieved. Note that the problem is NP hard and -frustration can thus only be calculated for rather small signed networks. +which the optimal frustration is achieved. The implemented algorithm can deal with fairly large +networks, even though the problem is NP hard [@an-dcopsnpc-20]. + +To use `frustation_exact()`, the package `ompr` and its auxiliary packages need to be installed +separately [@s-omsmilp-22]. ## Blockmodeling In signed blockmodeling, the goal is to determine $k$ blocks of nodes such that @@ -163,11 +168,11 @@ pn_index(g) ## Signed two-mode networks A common analytic tool for two-mode networks is to project the network onto on -relevant mode. This is easily done using the adjacency matrix $𝐴$. $𝐴𝐴^𝑇$ -yields the row projection and $𝐴^𝑇𝐴$ the column projection. The resulting +relevant mode. This is easily done using the adjacency matrix $A$. $AA^T$ +yields the row projection and $A^TA$ the column projection. The resulting networks will thus be weighted. Several methods exist to turn a weighted projection into an unweighted network where only the most significant edges are -included [@dns-brpebbp-21]. Projecting signed networks is not as +included [@n-brpenb-22]. Projecting signed networks is not as straightforward, because "nullification" of edges can occur. @s-pstn-21 introduces two methods to deal with this issue which are implemented in `signnet`. The trick is to convert the signed network into an a special