[R] Calculating all possible ratios

Rui Barradas ruipbarradas at sapo.pt
Sat May 12 23:04:09 CEST 2012


Hello,

I'm glad it helped. Now to make the result readable. (I had thought of it.)

pairwise.ratios <- function(x, prefix="probeset", char=":"){
	n <- ncol(x)
	cn <- colnames(x)
	if(length(cn) == 0){
		cn <- gsub(" ", "0", formatC(seq.int(n), width=nchar(n)))
		cn <- paste(prefix, cn, sep="")
	}
	cmb <- combn(n, 2)
	r1 <- apply(cmb, 2, function(j) x[, j[1]]/x[, j[2]])
	r2 <- apply(cmb, 2, function(j) x[, j[2]]/x[, j[1]])
	colnames(r1) <- apply(cmb, 2, function(j) paste(cn[j], collapse=char))
	colnames(r2) <- apply(cmb, 2, function(j) paste(cn[rev(j)], collapse=char))
	cbind(r1, r2)[, order(c(colnames(r1), colnames(r2)))]
}

m1 <- matrix(1:24, ncol=6)
pairwise.ratios(m1)

Rui Barradas

genome1976 wrote
> 
> Thanks so much Rui. I really appreciate all the help.
> 
> I implemented the code and it ran fine. I was wondering how I could
> include the probeset ids as probeset1:probeset2 in the final output so
> that I know which ratios are for which probeset pairs.
> 
> 
> Thanks so much.
> Som.
> Date: Sat, 12 May 2012 09:29:54 -0700
> From: ml-node+s789695n4629105h16 at .nabble
> To: genome1976@
> Subject: Re: Calculating all possible ratios
> 
> 
> 
> 	Hello,
> 
> 
> If by all possible gene ratios you mean all pairwise column ratios, try 
> 
> the following.
> 
> 
> # Make up some data
> 
> x <- matrix(1:24, ncol=6)
> 
> 
> cmb <- combn(ncol(x), 2)
> 
> r1 <- apply(cmb, 2, function(j) x[, j[1]]/x[, j[2]])
> 
> r2 <- apply(cmb, 2, function(j) x[, j[2]]/x[, j[1]])
> 
> cbind(r1, r2)
> 
> 
> Note that the dataset must be a numeric only matrix or data.frame.
> 
> 
> Hope this helps,
> 
> 
> Rui Barradas
> 
> 
> Em 12-05-2012 11:00, [hidden email] escreveu:
> 
>> Date: Fri, 11 May 2012 12:39:23 -0700 (PDT)
> 
>> From: genome1976<[hidden email]>
> 
>> To:[hidden email]
> 
>> Subject: [R] Calculating all possible ratios
> 
>> Message-ID:<[hidden email]>
> 
>> Content-Type: text/plain
> 
>>
> 
>> I have a data matrix with  genes as columns and samples as rows. I want
>> to
> 
>> create all possible gene ratios.Is there an elegant and fast way to do it
>> in
> 
>> R and write it to a dataframe?
> 
>>
> 
>> Thanks for any help.
> 
>> Som.
> 
>>
> 
>> --
> 
>> View this message in
>> context:http://r.789695.n4.nabble.com/Calculating-all-possible-ratios-tp4627405.html
>> Sent from the R help mailing list archive at Nabble.com.
> 
>> 	[[alternative HTML version deleted]]
> 
>>
> 
> ______________________________________________
> 
> [hidden email] mailing list
> 
> 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.
> 
> 
> 	
> 	
> 
> 	
> 
> 	
> 	
> 		If you reply to this email, your message will be added to the discussion
> below:
> 	
> http://r.789695.n4.nabble.com/Calculating-all-possible-ratios-tp4627405p4629105.html
> 	
> 	
> 		
> 		To unsubscribe from Calculating all possible ratios, click here.
> 
> 		NAML
> 


--
View this message in context: http://r.789695.n4.nabble.com/Calculating-all-possible-ratios-tp4627405p4629513.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list