# ErrorRate: This Function Calculates the True Error Rate of a Clustering... In NCutYX: Clustering of Omics Data of Multiple Types with a Multilayer Network Representation

## Description

This Function Calculates the True Error Rate of a Clustering Result, Assuming that There are Three Clusters.

## Usage

 `1` ```ErrorRate(X, n1, n2) ```

## Arguments

 `X` is a clustering result in matrix format. `n1` is the size of the first cluster. `n2` is the size of the second cluster.

## Value

err is the true error rate of a clustering result.

## References

Li, Yang; Bie, Ruofan; Teran Hidalgo, Sebastian; Qin, Yinchen; Wu, Mengyun; Ma, Shuangge. Assisted gene expression-based clustering with AWNCut. (Submitted.)

## 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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40``` ```set.seed(123456) #This sets up the initial parameters for the simulation. lambda <- seq(2,6,1) #Tuning parameter lambda Tau <- seq(0.2,0.8,0.2) #Tuning parameter tau n=30; n1=10; n2=10; n3=n-n1-n2 #Sample size p1=10; p2=10; r1=8; r2=8; #Number of variables and noises in each dataset K=3; #Number of clusters mu=1; #Mean of the marginal distribution u1=0.5; #Range of enties in the coefficient matrix library(mvtnorm) epsilon <- matrix(rnorm(n*(p1-r1),0,1), n, (p1-r1)) # Generation of random error Sigma1 <- matrix(rep(0.8,(p1-r1)^2),(p1-r1),(p1-r1)) # Generation of the covariance matrix diag(Sigma1) <- 1 # Generation of the original distribution of the three clusters T1 <- matrix(rmvnorm(n1,mean=rep(-mu,(p1-r1)),sigma=Sigma1),n1,(p1-r1)) T2 <- matrix(rmvnorm(n2,mean=rep(0,(p1-r1)),sigma=Sigma1),n2,(p1-r1)) T3 <- matrix(rmvnorm(n3,mean=rep(mu,(p1-r1)),sigma=Sigma1),n3,(p1-r1)) X1 <- sign(T1)*(exp(abs(T1))) #Generation of signals in X X2 <- sign(T2)*(exp(abs(T2))) X3 <- sign(T3)*(exp(abs(T3))) ep1 <- (matrix(rnorm(n*r1,0,1),n,r1)) #Generation of noises in X X <- rbind(X1,X2,X3) beta1 <- matrix(runif((p1-r1)*(p2-r2),-u1,u1),(p1-r1),(p2-r2)) #Generation of the coefficient matrix Z <- X%*%beta1+epsilon #Generation of signals in Z ep2 <- (matrix(rnorm(n*r2,0.5,1),n,r2)) #Generation of noises in Z X <- cbind(X,ep1) Z <- cbind(Z,ep2) #our method Tune1 <- awncut.selection(X, Z, K, lambda, Tau, B = 20, L = 1000) awncut.result <- awncut(X, Z, 3, Tune1\$lam, Tune1\$tau, B = 20, L = 1000) ErrorRate(awncut.result[[1]]\$Cs, n1, n2) ```

NCutYX documentation built on May 2, 2019, 3:15 a.m.