[R] pairwise comparisions
David Winsemius
dwinsemius at comcast.net
Mon Sep 10 20:08:31 CEST 2012
On Sep 10, 2012, at 11:03 AM, David Winsemius wrote:
>
> On Sep 10, 2012, at 7:00 AM, priya wrote:
>
>> Hi ,
>> I am new to R .
>
> How new? Is this still in a file? ... or has it been imported to an R object. If it really still is in a file, then Bert's suggestion of first reading "Intro to R" rather than posting to R help is on point. If it is an R object, you _should_ have used dput(head(obj)) to provide an appropriate test case for solutions.
>
>> I am facing difficulty how to make pairwise comparisions.
>> For example. I have a file which looks like below
>> a b c d
>> x 3 6 7 6
>> y 7 8 6 5
>> z 5 4 7 8
>> Here I need to look for the each pairwise comparisions (ab,ac,ad,bc,bd,cd
>> for each row)
>
> Let's assume it's in a matrix of data.frame named X. To get pairwise combinations try:
>
> CX <- combn( colnames(X), 2)
>
> That's going to be a 2 row character matrix. Perhaps this will work but since you provide not example it will remain untested.
>
> apply(CX, 2, function(comb), pmin(X[, comb[1]], X[, comb[2]] ) )
The virtues of testing herein demonstrated. There is an inappropriately placed comma right after function(comb)
> X <- read.table(text=" a b c d
+ x 3 6 7 6
+ y 7 8 6 5
+ z 5 4 7 8", header=TRUE)
> CX <- combn( colnames(X), 2)
>
> apply(CX, 2, function(comb) pmin(X[, comb[1]], X[, comb[2]] ) )
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 3 3 3 6 6 6
[2,] 7 6 5 6 5 5
[3,] 4 5 5 4 4 7
>
>> For instance ,looking at first row, for x i need to look for ab values and
>> take the min(3,6) >5 ,if its satistfies the count should be noted, (now
>> count is 0), bc values ,min(6,7) >5 ,count for x =1 etc. Likewise all the
>> comparisons are made and count is noted for x,y,z.
>> Is there any function to make pairwise comparisions in R or any easy way to
>> do this?
>> Any help is greatly appreciated.
> --
>
David Winsemius, MD
Alameda, CA, USA
More information about the R-help
mailing list