examineCounts: Examine algorithm cluster agreement

Description Usage Arguments Value Author(s) Examples

View source: R/extract_core.R

Description

Returns a data frame to help the user choose the agreement.thresh parameter for returnCore. Each row shows how many samples (sample.count) are at each agreement level (percent.agreement), and what percent of the data would be removed for that agreement threshold (percent.remaining.if.removed).

Usage

1
examineCounts(mat.key)

Arguments

mat.key

A matrix of cluster assignments, where rows are items and columns are algorithms. The output of clusterKeys.

Value

A 3 column table, showing the number of samples at each agreement level and the percent of data above that agreement level. The agreement level for a sample is the (highest) fraction of algorithms which agree on its cluster assignment.

Author(s)

Albert Chen and Timothy E Sweeney
Maintainer: Albert Chen acc2015@stanford.edu

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# reindexes cluster numbers to agree
clusters <- data.frame(
  alg1=as.integer(c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3)),
  alg2=as.integer(c(1,1,1,1,1,3,3,3,3,3,2,2,2,2,2)),
  alg3=as.integer(c(3,3,3,3,3,1,1,1,1,1,2,2,2,2,2))
)
mat.key <- clusterKeys(clusters)
mat.key # cluster indices are relabeled
examineCounts(mat.key)
core <- returnCore(mat.key, agreement.thresh=50) # find 'core' clusters
table(core) # the 'core' clusters

# some clusters assignments are undetermined
clusters <- data.frame(
  alg1=as.integer(c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,1,1,2,2,3,3)),
  alg2=as.integer(c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,1,2,2,3,3,1)),
  alg3=as.integer(c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,2,3,1,1,2,3))
)
mat.key <- clusterKeys(clusters)
mat.key # last six samples have conflicting assignments
examineCounts(mat.key)
core <- returnCore(mat.key, agreement.thresh=66) # need at least 2 of 3 algs to agree
table(core)
core <- returnCore(mat.key, agreement.thresh=99) # need all algs to agree
table(core)

COMMUNAL documentation built on May 29, 2017, 6:36 p.m.