Hi,
You may also try:
mat: data

lst1<-lapply(split(mat,col(mat)),function(x) {x1<- which(x>=0.8*max(x));x2<- 
which.max(x);x1[abs(x1-x2)==1|length(x)-abs(x1-x2)==1]<-NA;rbind(index=x1[!is.na(x1)],values=x[x1[!is.na(x1)]])})
names(lst1)<-NULL

lst2<-apply(mat,2,function(x) do.call(rbind,fun2(x))) #Rui's function
 identical(lst1,lst2)
#[1] TRUE
A.K.

----- Original Message -----

From: eliza botto <eliza_bo...@hotmail.com>
To: Berend Hasselman <b...@xs4all.nl>
Cc: "r-help@r-project.org" <r-help@r-project.org>
Sent: Friday, May 24, 2013 6:41 AM
Subject: Re: [R] Continuous columns of matrix

There you go!!!

structure(c(0.706461987893674, 0.998391468394261, 0.72402995269242, 
1.70874688194537, 1.93906363083693, 0.89540353128442, 0.328327645695443, 
0.427434603701202, 0.591932250254601, 0.444627635494183, 1.44407704434405, 
1.79150336746345, 0.94525563730664, 1.1025988539757, 0.944726401770203, 
0.941068515436361, 1.50874009152312, 0.590015480056925, 0.311905493999476, 
0.596771673581893, 1.01502499067153, 0.803273181849135, 1.6704085033648, 
1.57021117646422, 0.492096635764151, 0.433332688044914, 0.521585941816778, 
1.66472272302545, 2.61878329527404, 2.19154489521664, 0.493876245329722, 
0.4915787202584, 0.889477365620806, 0.609135860199222, 0.739201878930367, 
0.854663750519518, 0.948228727226247, 1.38569091844218, 0.910510759802679, 
1.25991218521949, 0.993123416952421, 0.553640392997634, 0.357487763503204, 
0.368328033777003, 0.344255688489322, 0.423679560916755, 1.32093576037521, 
3.13420679229785, 2.06195904001605, 1.41493262330451, 1.35748791897328,
 1.19490680241894, 0.70248875618332!
2, 0.338258418490199, 0.123398398622741, 0.138548982660226, 0.16170889185798, 
0.414543218677095, 1.84629295875002, 2.24547399004563, 0.0849732189580101, 
0.070591276171845, 0.0926010253161898, 0.362209761457517, 1.45769283057202, 
3.16165004659667, 2.74903557756267, 1.94633472878995, 1.19319875840883, 
0.533232612926756, 0.225531074123974, 0.122949089115578), .Dim = c(12L, 6L))

Thanks once again..
Elisa


> Subject: Re: [R] Continuous columns of matrix
> From: b...@xs4all.nl
> Date: Fri, 24 May 2013 12:36:47 +0200
> CC: r-help@r-project.org
> To: eliza_bo...@hotmail.com
> 
> 
> On 24-05-2013, at 12:24, eliza botto <eliza_bo...@hotmail.com> wrote:
> 
> > Dear useRs,If i have a matrix, say, 12 rows and 6 columns. The columns are 
> > continuous. I  want to find the index of maximum values and the actual 
> > maximum values. The maximum values in each column are the highest values 
> > and the values greater than or equal to 80% of the maximum value. Moreover, 
> > if a column has more than one maximum values than these values should come 
> > immediately next to each other.  For example, if you column 1 has a highest 
> > value in 6th row then the second maximum values cant be in row 5 or 7. And 
> > as the columns are continuous therefore, if maximum value is in row 12th, 
> > then the second maximum cant be in row 11 and 1.Thankyou very much indeed 
> > in advance
> 
> 
> Incomprehensible.
> What is a continuous column?
> 
> Please give an example input matrix and and the result you want.
> 
> Berend
> 
> > Elisa                            
> >     [[alternative HTML version deleted]]
> > 
> 
> Please post in plain text.
> 
                          
    [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org 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.


______________________________________________
R-help@r-project.org 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.

Reply via email to