File: getTransitionProbabilities.R

package info (click to toggle)
r-cran-boolnet 2.1.9-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,016 kB
  • sloc: ansic: 12,452; sh: 16; makefile: 2
file content (24 lines) | stat: -rw-r--r-- 1,023 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Builds a matrix of transitions and their probabilities from <markovSimulation>
getTransitionProbabilities <- function(markovSimulation)
{
  stopifnot(inherits(markovSimulation,"MarkovSimulation"))
  if (is.null(markovSimulation$table))
    stop(paste("The supplied simulation result does not contain transition information.",
               "Please re-run markovSimulation() with returnTable=TRUE!"))
  
  initialStates <- t(apply(markovSimulation$table$initialStates,2,dec2bin,length(markovSimulation$genes)))

  nextStates <- t(apply(markovSimulation$table$nextStates,2,dec2bin,length(markovSimulation$genes)))

  idx <- order(apply(initialStates,1,function(x)paste(x,collapse="")))
  
  res <- data.frame(initialStates,nextStates,markovSimulation$table$probabilities)
  
  res <- res[idx,]
  
  rownames(res) <- NULL  
  colnames(res) <- c(paste("initialState.",markovSimulation$genes,sep=""),
                     paste("nextState.",markovSimulation$genes,sep=""),
                     "probability")
  return(res)
}