You should have been able to discern from the help pages that the generic
"apply" will do it.
E.g.,
apply(x,1,rank)
Now, you'll probably want to transpose the output of apply: it's a R
quirk/feature/bug/idiosyncrasy that apply(x,1,FUN) transposes the output and
most of the time I wind up switching it.
so r = t(apply(x,1,rank))
The syntax of apply is as follows: apply(THING TO APPLY, DIMENSION*,
FUNCTION, OTHERS)
THING TO APPLY -- Obvious
DIMENSION -- 1 for row-wise, 2 for column-wise
FUNCTION -- the function you are applying, here rank, without any arguments
or parentheses
OTHERS -- other arguments for more advanced functions (or to do things like
na.last=F or changing the ties.method with rank)
Hope this helps,
Michael Weylandt
On Fri, Aug 5, 2011 at 11:35 AM, Ben qant <ccquant@gmail.com> wrote:
> Hello,
>
> First time posting to this mail list.
>
> I'd like to use R in the most efficient way. I'm accomplishing what
I want,
> but feel there is a more R'ish way to do it. Just learning R.
>
> *My goal: get ranks of value across rows with row names and column names
> intact.*
>
> I'm guessing one of the [?]apply functions will do what I need, but I
> couldn't sort out which one (after a lot of searching).
>
> Here is a simplified example of what I am doing. Again, I get the correct
> result, but I assume there is a better way to do it.
>
> > x = data.frame(1:4,4)
> > x
> X1.4 X4
> 1 1 4
> 2 2 4
> 3 3 4
> 4 4 4
> > ranks = matrix(0,nrow(x),ncol(x))
> > ranks
> [,1] [,2]
> [1,] 0 0
> [2,] 0 0
> [3,] 0 0
> [4,] 0 0
> > for(i in 1:nrow(x)){
> + ranks[i,] = rank(x[i,])
> + }
> > ranks[i,]
> [1] 1.5 1.5
> > ranks
> [,1] [,2]
> [1,] 1.0 2.0
> [2,] 1.0 2.0
> [3,] 1.0 2.0
> [4,] 1.5 1.5
> > rownames(ranks) = rownames(x)
> > ranks
> [,1] [,2]
> 1 1.0 2.0
> 2 1.0 2.0
> 3 1.0 2.0
> 4 1.5 1.5
> > rownames(ranks) = rownames(x)
> > ranks
> [,1] [,2]
> 1 1.0 2.0
> 2 1.0 2.0
> 3 1.0 2.0
> 4 1.5 1.5
> > colnames(ranks) = colnames(x)
> > ranks
> X1.4 X4
> 1 1.0 2.0
> 2 1.0 2.0
> 3 1.0 2.0
> 4 1.5 1.5
>
> Thanks,
> Ben
>
> [[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.
>
[[alternative HTML version deleted]]