R/SelfE.R

Defines functions SelfE

Documented in SelfE

# Performs feature/gene selection
#
# More detailed description
#
# @param data: Numeric matrix where samples are in row and features are in column.
# @param k: Number of features to be selected.
#
# @return Vector containing ID of the features.
#
# @examples
# GeneID = SelfE(Data, 50)

SelfE <- function(data, k)
{
    idx <- vector()
    Y <- as.matrix(data)
    Phi <- as.matrix(data)
    R <- as.matrix(Y)

    for (iter in 1:k)
    {
        K <- abs((t(R)) %*% R)

        c <- vector()
        for (i in 1:ncol(Phi))
        {
            c[i] <- norm(as.matrix(K[i, ]), '2')
        }
        pos <- order(-c)
        idx <- append(idx, pos[1])

        PhiS <- as.matrix(Phi[, idx])
        Yiter <- PhiS %*% pinv(PhiS) %*% Y
        R <- Y - Yiter
    }
    return(idx)
}
Priyadarshini-Rai/SelfE documentation built on Dec. 12, 2019, 1:20 a.m.