You can do the following also



X <- matrix(c(1,2,1,2,1,3,1,4), ncol=2)
Y<-unique(X)
Y[which.max(apply(Y, 1,function(i) sum(apply(matrix(1:nrow(X)),
1,function(x) identical(X[x,], i[1:2]))))),]


I do not know what your strategy is when there are multiple maxima i.e two
different  rows appear at the same frequency. The above will ge the first
row that appears to be the maximum  as an example suppose that we have

X <- matrix(c(1,2,1,2,1,3,1,4, 1, 4), ncol=2)
The above will have [2,1] as the maximum row while it should be both [2,1]
and [1,4]. To correct that try
Y[(yy <- (apply(Y, 1,function(i) sum(apply(matrix(1:nrow(X)),
1,function(x) identical(X[x,], i[1:2]))))))%in%max(yy),]


and this will give you [2,1] and [1,4] as the most frequent rows.


Hopw this help


Jean










On Fri, 10 Dec 2004, bogdan romocea wrote:

> Here's something that works. I'm sure there are better solutions (in
> particular the paste part - I couldn't figure out how to avoid typing
> a[i,1], ..., a[i,10]).
>
> a <- matrix(nrow=1000,ncol=10)
> for (i in 1:1000)
>       for (j in 1:10)
>               a[i,j] <- sample(1:0,1)
>
> b <- vector(mode="character")
> for (i in 1:1000)
>       b[i] <- paste(a[i,1],a[i,2],a[i,3],a[i,4],a[i,5],
>               a[i,6],a[i,7],a[i,8],a[i,9],a[i,10],sep="")
>
> #the most frequent row
> table(b)[table(b) == max(table(b))]
>
> HTH,
> b.
>
>
> -----Original Message-----
> From: Lisa Pappas [mailto:[EMAIL PROTECTED]
> Sent: Thursday, December 09, 2004 5:15 PM
> To: [EMAIL PROTECTED]
> Subject: [R] finding the most frequent row
>
>
> I am bootstrapping using a function that I have defined.  The
> "Statistic" of the function is an array of 10 numbers.  Therefore if
> I use 1000 replications,  the "t" matrix will have 1000 rows each of
> which is a bootstrap replicate of this 10 number array (10 columns).
> Is there any easy way in R to determine which row appears the most
> frequently?
>
> Thanks,
> Lisa Pappas
>
> Huntsman Cancer Institute wishes to promote open communication while
> protecting confidential and/or privileged information.  If you have
> received this message in error, please inform the sender and delete
> all copies.
>
> ______________________________________________
> [EMAIL PROTECTED] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
>
> ______________________________________________
> [EMAIL PROTECTED] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>

______________________________________________
[EMAIL PROTECTED] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to