[R] reodering factor
Steven McKinney
smckinney at bccrc.ca
Fri May 4 04:45:46 CEST 2007
One way to reorder a factor is to define a new
factor and specify the order of levels using
the "levels" argument of the factor() function.
The first category specified for the "levels"
argument will be the reference category in
model fits such as with lm().
> mydata <- data.frame(y = c(runif(10), runif(10) + 10), grp = c(rep("A", 10), rep("B", 10)))
> mydata
y grp
1 0.0808684 A
2 0.2930649 A
3 0.4671063 A
4 0.7815386 A
5 0.5360262 A
6 0.8092338 A
7 0.9965648 A
8 0.3549031 A
9 0.3426956 A
10 0.2988377 A
11 10.6528479 B
12 10.7118101 B
13 10.4484731 B
14 10.9638309 B
15 10.7650812 B
16 10.6355089 B
17 10.7003755 B
18 10.2147930 B
19 10.8901356 B
20 10.6319798 B
> lm(y ~ grp, data = mydata)
Call:
lm(formula = y ~ grp, data = mydata)
Coefficients:
(Intercept) grpB
0.4961 10.1654
> mydata$grp2 <- factor(mydata$grp, levels = c("B", "A"))
> mydata
y grp grp2
1 0.0808684 A A
2 0.2930649 A A
3 0.4671063 A A
4 0.7815386 A A
5 0.5360262 A A
6 0.8092338 A A
7 0.9965648 A A
8 0.3549031 A A
9 0.3426956 A A
10 0.2988377 A A
11 10.6528479 B B
12 10.7118101 B B
13 10.4484731 B B
14 10.9638309 B B
15 10.7650812 B B
16 10.6355089 B B
17 10.7003755 B B
18 10.2147930 B B
19 10.8901356 B B
20 10.6319798 B B
> lm(y ~ grp2, data = mydata)
Call:
lm(formula = y ~ grp2, data = mydata)
Coefficients:
(Intercept) grp2A
10.66 -10.17
>
Steven McKinney
Statistician
Molecular Oncology and Breast Cancer Program
British Columbia Cancer Research Centre
email: smckinney at bccrc.ca
tel: 604-675-8000 x7561
BCCRC
Molecular Oncology
675 West 10th Ave, Floor 4
Vancouver B.C.
V5Z 1L3
Canada
-----Original Message-----
From: r-help-bounces at stat.math.ethz.ch on behalf of John Sorkin
Sent: Thu 5/3/2007 7:10 PM
To: r-help at stat.math.ethz.ch
Subject: [R] reodering factor
R 2.4.1
Windows XP
How does one reorder a factor?
I have the following data:
> factor(data$Group)
[1] ZZ ZT ZT ZZ ZZ ZT ZZ ZZ ZT ZT ZT ZT ZZ ZT ZT ZZ ZT ZZ ZT ZZ ZT ZT ZZ ZZ ZT ZZ ZT ZZ ZT ZZ ZZ ZT ZZ ZT
Levels: ZT ZZ
In my regression (i.e. lm(y~data$Group) ZT is taken as the reference category and I get an estimate for ZZ. I would like ZZ to be the reference category and obtain an estimate for ZT.
Thank,
John
John Sorkin M.D., Ph.D.
Chief, Biostatistics and Informatics
University of Maryland School of Medicine Division of Gerontology
Baltimore VA Medical Center
10 North Greene Street
GRECC (BT/18/GR)
Baltimore, MD 21201-1524
(Phone) 410-605-7119
(Fax) 410-605-7913 (Please call phone number above prior to faxing)
Confidentiality Statement:
This email message, including any attachments, is for the so...{{dropped}}
______________________________________________
R-help at stat.math.ethz.ch 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