Type: | Package |
Title: | Network Analysis and Visualization |
Version: | 0.1.2 |
Date: | 2019-09-20 |
Maintainer: | Claus Thorn Ekstrøm <ekstrom@sund.ku.dk> |
Description: | Collection of functions for fast manipulation, handling, and analysis of large-scale networks based on family and social data. Functions are utility functions used to manipulate data in three "formats": sparse adjacency matrices, pedigree trio family data, and pedigree family data. When possible, the functions should be able to handle millions of data points quickly for use in combination with data from large public national registers and databases. Kenneth Lange (2003, ISBN:978-8181281135). |
License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
Imports: | Rcpp (≥ 0.12.12), data.table, fastmatch, Matrix |
LinkingTo: | Rcpp, RcppArmadillo |
SystemRequirements: | C++11 |
Encoding: | UTF-8 |
ByteCompile: | true |
RoxygenNote: | 6.1.1 |
Suggests: | testthat |
NeedsCompilation: | yes |
Packaged: | 2019-09-20 09:17:31 UTC; cld189 |
Author: | Claus Thorn Ekstrøm [aut, cre], Bendix Carstensen [ctb] |
Repository: | CRAN |
Date/Publication: | 2019-09-20 09:30:02 UTC |
Collection of miscellaneous useful and semi-useful functions
Description
Collection of miscellaneous useful and semi-useful functions and add-on functions that enhances a number of existing packages and provides In particular in relation to statistical genetics
Details
Package: | networkR |
Type: | Package |
Version: | 1.0 |
Date: | 2012-03-29 |
License: | GPL-2 |
how to use the package, including the most important ~~
Author(s)
Claus Thorn Ekstrøm ekstrom@sund.ku.dk
Maintainer: Claus Thorn Ekstrøm
ekstrom@sund.ku.dk
References
Ekstrøm, C. (2017). The R Primer. 2nd edition, Chapman & Hall.
Create adjacency matrix
Description
Create an adjacency matrix from a set of nodes and edges.
Usage
adjacency(from, to, weight = 1, directed = TRUE)
Arguments
from |
a vector of nodes where the edges originate |
to |
a vector of nodes where the edges point to |
weight |
a numeric vector of weights |
directed |
logical. Are the edges directed (TRUE, the default) or bidirected(FALSE). |
Value
Returns a sparse adjacency matrix
Author(s)
Claus Ekstrom ekstrom@sund.ku.dk
Examples
from <- c("A", "A", "A", "B", "C")
to <- c("B", "C", "D", "D", "E")
adjacency(from, to)
from <- c("A", "A", "A", "B", "C")
to <- c("B", "C", "D", "D", "E")
weights <- c(1, .5, 1, .7, 1)
adjacency(from, to, weights)
Hyperlink-induced topic search
Description
Hyperlink-induced topic search (HITS) is a link analysis algorithm that is also known as hubs and authorities. It rates nodes by comparing arrows pointing in and out of nodes in an asymmetrical graph.
Usage
hits(adjmatrix, maxiter = 100L, tol = 1e-05)
Arguments
adjmatrix |
an adjacency matrix |
maxiter |
non-negative integer |
tol |
positive numeric value to be used as tolerance threshold for convergence |
Details
Hubs are nodes with a lot of arrows pointing out while authorities are node with a lot of arrows pointing in.
Value
Returns a list with three elements: authorities (a vector) of and hubs (a vector), and number of iterations used.
Author(s)
Claus Ekstrom ekstrom@sund.ku.dk
References
Kleinberg, Jon (1999). "Authoritative sources in a hyperlinked environment" (PDF). Journal of the ACM. 46 (5): 604–632. doi:10.1145/324133.324140
Examples
from <- c("A", "A", "A", "B", "C")
to <- c("B", "C", "D", "D", "E")
hits(adjacency(from, to))
Construct family id vector from pedigree trio information
Description
Create a vector of length n, giving the family id of each subject. If the pedigree is totally connected, then everyone will end up in tree 1, otherwise the tree numbers represent the disconnected subfamilies. Singleton subjects each have unique family numbers.
No check is done to ensure that the id, fid, and mid actually refer to proper family structure. References to ids in the fid and mid arguments that are not part of the id vector are considered founders.
Usage
make_family_id(id, fid, mid)
Arguments
id |
Numeric vector of ids |
fid |
Numeric vector of ids of the father. This should be NA or 0 for a founder. |
mid |
Numeric vector of ids of the mother. This should be NA or 0 for a founder. |
Value
Returns an integer vector giving the family index
Author(s)
Claus Ekstrom ekstrom@sund.ku.dk
Examples
id <- 1:11
fid <- c(NA, NA, 1, 1, NA, 23, 45, 5, 5, 7, NA)
mid <- c(NA, NA, 2, 2, 65, NA, 46, 6, 6, 6, 0)
make_family_id(id, fid, mid)
Generate variables (or lists) of siblings from a file of ids of persons and their father and mother.
Description
The function generates for each person lists of maternal half-sibs, paternal half-sibs and full sibs. Optionally these are expanded to separate columns in a data.table.
Usage
mksib(obj, ns = 3, expand.vars = TRUE)
Arguments
obj |
A 3-column structure with column names |
ns |
Integer. The maximal no of sibs of each type to include in the result if sibling ids are required in separate columns. |
expand.vars |
Logical. Should the sibling ids be returned in separate
columns. If |
Details
There are no checks of persons being both mother and father, nor being its
own parent and incest checks are not performed. In other words, the
obj
is assumed to be sane, but possibly immoral.
Value
A data.table
with the columns of the obj
and columns
for ns
maternal, paternal and full sibs, named ms1
,
ms2
, ... ps1
, ps2
, ... fs1
,
fs2
.
If expand.vars=FALSE
there will instead be three columns of lists
named msibs
, psibs
and fsibs
.
Author(s)
Claus Thorn Ekstrøm, ekstrom@sund.ku.dk, Bendix Carstensen, b@bxc.dk
Examples
library( data.table )
id <- 1:12
pid <- c(NA, 1, 1, 1, NA, 23, 45, 5, 5, 7, 12, NA)
mid <- c(NA, NA, 2, 2, 12, NA, 46, 6, 6, 6, NA, 12)
indd <- data.table( id, mid, pid )
indata <- copy( indd )
indata
str( xx <- mksib( indata ) )
xx
zz <- mksib( indata, 2, e=FALSE )
zz
Validate pedigree trio information consistency
Description
Simple tests to chech the consistency of the pedigree trio family data. Currently the following checks are undertaken: 1) that no duplicates ids are found; 2) that the primary id is not missing for anyone; 3) that founders have both the father and mother id missing; 4) that individuals are not both classified as male (fathers and mothers);
Usage
validate_trio_consistency(id, fid, mid, sex = NULL)
Arguments
id |
Numeric. The id of the individual. These values should be unique |
fid |
Numeric. The father id. NA or 0 are used for missing. |
mid |
Numeric. The mother id. NA or 0 are used for missing. |
sex |
An optional numeric vector with the sex of the individual. Only four values should be present 1 (male), 2 (female), 0 or NA (missing) |
Details
There are no checks of persons being both mother and father, nor being its
own parent and incest checks are not performed. In other words, the
obj
is assumed to be sane, but possibly immoral.
Value
Throws an error if an inconsistency is found. Otherwise returns TRUE.
Author(s)
Claus Thorn Ekstrøm, ekstrom@sund.ku.dk
Examples
library("data.table")
id <- 1:12
fid <- c(NA, 0, 1, 1, NA, 23, 45, 5, 5, 7, 10, 10)
mid <- c(NA, NA, 2, 2, 0, 56, 46, 6, 6, 6, 9, 11)
validate_trio_consistency(id, fid, mid)