Description Usage Arguments Details Value References See Also Examples
View source: R/cluster-position.R
Build a hierarchical tree based on the position of the variables.
1 2 |
position |
a data frame with two columns specifying the variable names and the corresponding position or a list of data frames for multiple data sets. The first column is required to contain the variable names and to be of type character. The second column is required to contain the position and to be of type numeric. |
block |
a data frame or matrix specifying the second level of the hierarchical tree. The first column is required to contain the variable names and to be of type character. The second column is required to contain the group assignment and to be a vector of type character or numeric. If not supplied, the second level is built based on the data. |
sort.parallel |
a logical indicating whether the values are sorted with respect to the size of the block. This can reduce the run time for parallel computation. |
parallel |
type of parallel computation to be used. See the 'Details' section. |
ncpus |
number of processes to be run in parallel. |
cl |
an optional parallel or snow cluster used if
|
The hierarchical tree is built based on recursive binary partitioning of consecutive variables w.r.t. their position. The partitioning consists of splitting a given node / cluster into two children of about equal size based on the positions of the variables. If a node contains an odd number of variables, then the variable in the middle w.r.t. position is assigned to the cluster containing the closest neighbouring variable. Hence, clusters at a given depth of the binary hierarchical tree contain about the same number of variables.
If the argument block
is supplied, i.e. the second level of the
hierarchical tree is given, the function can be run in parallel across
the different blocks by specifying the arguments parallel
and
ncpus
. There is an optional argument cl
if
parallel = "snow"
. There are three possibilities to set the
argument parallel
: parallel = "no"
for serial evaluation
(default), parallel = "multicore"
for parallel evaluation
using forking, and parallel = "snow"
for parallel evaluation
using a parallel socket cluster. It is recommended to select
RNGkind("L'Ecuyer-CMRG")
and set a seed to ensure that
the parallel computing of the package hierinf
is reproducible.
This way each processor gets a different substream of the pseudo random
number generator stream which makes the results reproducible if the arguments
(as sort.parallel
and ncpus
) remain unchanged. See the vignette
or the reference for more details.
The returned value is an object of class "hierD"
,
consisting of two elements, the argument "block"
and the
hierarchical tree "res.tree"
.
The element "block"
defines the second level of the hierarchical
tree if supplied.
The element "res.tree"
contains a dendrogram
for each of the blocks defined in the argument block
.
If the argument block
is NULL
(i.e. not supplied),
the element contains only one dendrogram
.
Renaux, C. et al. (2018), Hierarchical inference for genome-wide association studies: a view on methodology with software. (arXiv:1805.02988)
cluster_var
and
test_hierarchy
.
1 2 3 4 5 6 7 8 9 10 | # The column names of the data frames position and block are optional.
position <- data.frame("var.name" = paste0("Var", 1:500),
"position" = seq(from = 1, to = 1000, by = 2),
stringsAsFactors = FALSE)
dendr1 <- cluster_position(position = position)
block <- data.frame("var.name" = paste0("Var", 1:500),
"block" = rep(c(1, 2), each = 250),
stringsAsFactors = FALSE)
dendr2 <- cluster_position(position = position, block = block)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.