[R] Question about rank() function

Daniel Malter daniel at umd.edu
Thu Feb 11 09:20:24 CET 2010


To follow up on Moshe's post, do 

rank(fmodel)
rank(round(fmodel,4))
rank(fmodel)==rank(round(fmodel,4))

If the two are not identical, you have the explanation Moshe suggested, just
that this approach is somewhat more comprehensive as it works on the entire
fmodel vector. See the example below:

x=c(1.0001,1.0002,1.0003,1.0004,2.0001,2.0002,2.0003,3.0001,3.0002,4)

rank(x)
rank(round(x,2))
rank(x)==rank(round(x,2))

HTH,
Daniel



-------------------------
cuncta stricte discussurus
-------------------------

-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On
Behalf Of Something Something
Sent: Thursday, February 11, 2010 2:23 AM
To: r-help at r-project.org
Subject: [R] Question about rank() function

Hello,

I am trying to get the 'rank' function to work for me, but not sure what I
am doing wrong.  Please help.

I ran the following commands:

data = read.table("test1.csv", head=T, as.is=T, na.string=".", row.nam=NULL)
X1 = as.factor(data[[3]])
X2 = as.factor(data[[4]])
X3 = as.factor(data[[5]])
Y = data[[2]]
model = lm(Y ~ X1*X2*X3, na.action = na.exclude)
fmodel = fitted(model)
fmodel
(First line is shown below.....)


       1        2        3        4        5        6        7        8
   9       10       11       12       13       14       15       16
17
180.3763 180.3763 180.3763 180.3763 180.4546 180.3763 177.9245 177.9245
181.3859 180.3763       NA 180.4546 180.3763 180.4546 180.3763 180.3763
180.4546

Then I run:
fmodel.rank = rank(fmodel)
fmodel.rank
(First line is shown below....)

    1     2     3     4     5     6     7     8     9    10    11    12
 13    14    15    16    17    18    19    20    21    22    23    24    25
   26
375.0 222.0  68.5  68.5 402.5 222.0  33.5  33.5 465.5 222.0 500.0 402.5
222.0 402.5 222.0 222.0 378.5 222.0 222.0 222.0 222.0 222.0 402.5 222.0
 33.5 222.0


As you can see, first 4 values of 'fmodel' are 180.3763, so after running
rank(fmodel) I expected the ranks of first 4 to be the same, but they are
not.  What am I doing wrong?  Please let me know.  Thanks.

	[[alternative HTML version deleted]]

______________________________________________
R-help at 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.



More information about the R-help mailing list