A couple of additional notes that may or may not be helpful...

1. Note that Michael's solution does exactly as requested and provided
the indices of the 4 smallest values. However it does not provide them
in the order of those values. A simpler construction that does is:

apply(subER, 1, function(x) order(x)[1:4] )

This also may be a tad faster.

2. For a (very) large number of columns and/or rows, partial sorting
could be somewhat faster, e.g via

 apply(subER,1,function(x)which(sort.int(x,partial=1:4)[1:4] %in% x)))

3. Not mentioned, and perhaps irrelevant here -- but still... --, is
the question of what do you do if there are ties in the sorting? This
may be impossible in theory, but could happen in practice, e.g. due to
LOD issues for measurement.

Cheers,
Bert

On Mon, Jan 23, 2012 at 10:08 AM, R. Michael Weylandt
<michael.weyla...@gmail.com> wrote:
> I'd do something like
>
> apply(subER, 1, function(x) which(x %in% sort(x)[1:4]))
>
> E.g.
>
> subER <- matrix(sample(100), 10)
>
> But I'll admit that seems clunkier than it should be.
>
> On Mon, Jan 23, 2012 at 12:41 PM, connollj <conno...@uoguelph.ca> wrote:
>> Hello!
>>
>> I'm working with a matrix called 'subER'. This matrix has 150(=h) rows and
>> 15 columns. What I would like to do is have a command that will identify the
>> minimum 4 values in each row and return the column numbers where these
>> values were found. My hope is to store this information in a new 150 by 4
>> matrix called P.
>>
>> So far I've only been able to get R to identify one minimum value and return
>> its corresponding column location:
>>
>> P=matrix(nrow=h, ncol=1)
>> for(i in 1:h){
>> P[i,]=which.min(subER[i,])
>> }
>>
>> Any help would be greatly appreciated!!
>>
>> Thank you in advance,
>>
>> Jess
>>
>>
>> --
>> View this message in context: 
>> http://r.789695.n4.nabble.com/Return-the-matrix-location-of-multiple-entries-tp4321412p4321412.html
>> Sent from the R help mailing list archive at Nabble.com.
>>
>> ______________________________________________
>> 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.



-- 

Bert Gunter
Genentech Nonclinical Biostatistics

Internal Contact Info:
Phone: 467-7374
Website:
http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm

______________________________________________
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