[R] extract objects from R output

David Winsemius dwinsemius at comcast.net
Mon Dec 15 02:15:01 CET 2014


PLEASE DO NOT POST IN HTML:


> On Dec 14, 2014, at 12:30 PM, Kruti Pandya <kp1005 at gmail.com> wrote:
> 
> I am new to R and using this package BoolNet. I wanted to extract the
> boolean transition functions resulting from the output of
> generateRandomNKNetwork function. I am able to extract individual function
> using
> net$interactions$Gene1$expression,net$interactions$Gene2$expression.... .
> But it gives me the transition function in quotes. How can I remove the
> quotes ?
> 
> My goal is to  evaluate each transition function at a randomly generated
> initial state. What I need to do is to extract each of the individual
> functions one by one. Like
> 
> extract net$interactions$Gene1$expression
> evaluate the function at random initial sate
> then extract net$interactions$Gene2$expression
> evaluate the function at random initial state
> 
> .... do this for all five functions that comes out of the ouput.
> 
> I tried something like this but did not work.
> 
> for (i in 1:5){
>  func[[i]]<-rn$interactions$Gene[i]$expression
> 
> #extract net$interactions$Gene1$expression,
> net$interactions$Gene2$expression and so on
> 
> }

So look at the object:

> str(net)
List of 3
 $ genes       : chr [1:5] "Gene1" "Gene2" "Gene3" "Gene4" ...
 $ interactions:List of 5
  ..$ Gene1:List of 3
  .. ..$ input     : int [1:3] 5 4 3


> names(net$interactions)
[1] "Gene1" "Gene2" "Gene3" "Gene4" "Gene5"

There are not five items names named “Gene” with indices 1 to 5. You can get at items with those names by paste0()-ing with “[[“


#There is nothing named “fun” yet:


OR FOR THAT  MATTER…. an object name “rn”. Why on earth did you change the name to 'rn' from ‘net'?????


 func=list()
 for (i in 1:5){
  func[[i]]<-net$interactions[[paste0("Gene",i)]]$expression
 }

 str(func)
List of 5
 $ : chr "(!Gene5 & !Gene4 & !Gene3) | (!Gene5 & !Gene4 & Gene3) | (Gene5 & !Gene4 & Gene3) | (Gene5 & Gene4 & Gene3)"
 $ : chr "(!Gene1 & Gene2 & !Gene3) | (!Gene1 & Gene2 & Gene3) | (Gene1 & !Gene2 & !Gene3) | (Gene1 & !Gene2 & Gene3) | (Gene1 & Gene2 & "| __truncated__
 $ : chr "(!Gene4 & !Gene2 & Gene5) | (Gene4 & Gene2 & !Gene5) | (Gene4 & Gene2 & Gene5)"
 $ : chr "(!Gene1 & !Gene2 & Gene5) | (!Gene1 & Gene2 & Gene5) | (Gene1 & !Gene2 & Gene5) | (Gene1 & Gene2 & !Gene5)"
 $ : chr "(!Gene5 & !Gene1 & !Gene4) | (!Gene5 & Gene1 & !Gene4) | (!Gene5 & Gene1 & Gene4) | (Gene5 & !Gene1 & !Gene4) | (Gene5 & !Gene1"| __truncated__


David.

> 
> # output of generateRandomNKNetwork
> install.packages(BoolNet)
>  library(BoolNet)
> 
>  net<-generateRandomNKNetwork(5,3,readableFunctions="canonical")
> 
> #Output of net
> Boolean network with 5 genes
> 
> Involved genes:
> Gene1 Gene2 Gene3 Gene4 Gene5
> 
> Transition functions:
> Gene1 = (!Gene5 & Gene1 & !Gene2) | (!Gene5 & Gene1 & Gene2) | (Gene5 &
> !Gene1 & !Gene2)
> Gene2 = (!Gene1 & !Gene3 & !Gene2) | (!Gene1 & Gene3 & !Gene2) | (!Gene1 &
> Gene3 & Gene2) | (Gene1 & Gene3 & Gene2)
> Gene3 = (!Gene3 & Gene1 & !Gene2) | (Gene3 & !Gene1 & !Gene2) | (Gene3 &
> Gene1 & !Gene2)
> Gene4 = (!Gene4 & !Gene2 & !Gene1) | (!Gene4 & !Gene2 & Gene1) | (!Gene4 &
> Gene2 & Gene1) | (Gene4 & !Gene2 & !Gene1) | (Gene4 & Gene2 & Gene1)
> Gene5 = (!Gene2 & !Gene4 & !Gene5) | (!Gene2 & !Gene4 & Gene5) | (Gene2 &
> !Gene4 & Gene5)
> 
> net$interactions$Gene1$expression
> #[1] "(!Gene5 & Gene1 & !Gene2) | (!Gene5 & Gene1 & Gene2) | (Gene5 &
> !Gene1 & !Gene2)"
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

David Winsemius, MD
Alameda, CA, USA



More information about the R-help mailing list