create.CCM: Creates a CCM correlation matrix

View source: R/create.CCM.R

create.CCMR Documentation

Creates a CCM correlation matrix

Description

Creates a CCM correlation matrix that calculates correlations between test and training samples or between each test sample

Usage

create.CCM(X.test, X.train = NULL, method = "pearson", use = "everything", verbose = 1)

Arguments

X.test

matrix of test samples with rows containing variables and columns containing observations

X.train

optional matrix of training samples with rows containing variables and columns containing observations

method

the type of correlation to use, either 'pearson' (the default) or 'spearman'

use

instructions for handling missing values. See details and cor. All values are used by default.

verbose

A value of '0' will suppress output

Details

The default correlation is the Pearson product moment correlation. If method is 'spearman', then the Spearman's rank correlation is used, which is the Pearson correlation calculated using the ranks of the data.

If X.train is NULL then correlations are calculated between each column of X.test, but the correlation between a sample and itself will be assigned the value NA.

When X.train is specified, correlations are calculated sequentially between each test observation and all training observations using apply. Note that if missing values are present, they may be handled differently for different test samples.

Value

A CCM correlation matrix with element (i,j) as follows: if X.train is not NULL, then the correlation between the i(th) test sample and the j(th) training sample; otherwise the correlation between the i(th) and j(th) test samples, with NA along the diagonal.

Author(s)

Garrett M. Dancik and Yuanbin Ru

See Also

cor, the function used to calculate correlations; predict.CCM, for classification based on the CCM matrix; plot.CCM for plotting correlations of test samples

Examples


data(data.expr)
data(data.gender)

## split dataset into training / testing ##
train.expr = data.expr[,1:20]
test.expr = data.expr[,21:40]
train.gender = data.gender[1:20]
test.gender = data.gender[21:40]

## CCM using spearman correlation ##
K = create.CCM(test.expr, train.expr, method = "spearman")
## predict based on the class with the highest mean correlation (the default) ##
p = predict(K, train.gender)
table(pred = p, true = test.gender) # check accuracy

## CCM using pearson correlation ##
K = create.CCM(test.expr, train.expr, method = "pearson")
## predict based on the class with the maximum correlation 
p = predict(K, train.gender, func = max)
table(pred = p, true = test.gender) # check accuracy

### leave-one-out cross validation on entire dataset ###
K = create.CCM(data.expr, method = "spearman")
p = predict(K, data.gender)
table(pred = p, true = data.gender) # check accuracy

gdancik/CCM documentation built on Aug. 23, 2022, 4:31 a.m.