R/compute_pfp.R

Defines functions ComputePFP

# Function that generates permutation based RP, computes PFP and returns top genes
# performs permutation n.perm times computes pfp (refer to original rankprod
# package/article/wiki)
ComputePFP <- function(rankmatrix, n.perm = 100, orig.rp) {
  # pval <- vector() length(pval) = nrow(rankmatrix)
  pval <- numeric(nrow(rankmatrix))
  all.PermRP <- replicate(n.perm, GenPerm(rankmatrix))
  for (i in 1:nrow(all.PermRP)) {
    pval[i] = length(all.PermRP[i, ][all.PermRP[i, ] <= orig.rp[i]])/n.perm
  }
  # return gene list ordered based on rank
  top.list <- data.frame(names(orig.rp), round(orig.rp, 3), rank(orig.rp, ties.method = "min"), 
                         round(pval/rank(orig.rp), 3))
  colnames(top.list) = c("Gene", "RP", "Ranks", "pfp")
  top.list <- top.list[order(top.list[, 3]), ]
  rownames(top.list) <- NULL
  return(top.list)
}

Try the GenRank package in your browser

Any scripts or data that you put into this service are public.

GenRank documentation built on April 28, 2020, 7:09 p.m.