[R] 'which' statement for recode?

John Fox jfox at mcmaster.ca
Thu Jan 22 17:41:45 CET 2015


Dear Charles,

When you put TERM in a data frame, by default it was converted to a factor,
which is already stored as integers. Thus, if I understand correctly what
you want, the following will work:

> sc$TERM
[1] 200208 200701 201201
Levels: 200208 200701 201201

> unclass(sc$TERM)
[1] 1 2 3
attr(,"levels")
[1] "200208" "200701" "201201"

> class(unclass(sc$TERM))
[1] "integer"

Note that the original class designations are presented in the "levels"
attribute.

This assumes that all of the class designations that you want to use appear
in sc$TERM. You already received some suggestions for the way that you
originally posed the problem (where there were classes in TermList not
appearing in sc$TERM).

I hope this helps,
 John

-------------------------------------------------------
John Fox, Professor
McMaster University
Hamilton, Ontario, Canada
http://socserv.mcmaster.ca/jfox/



> -----Original Message-----
> From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Charles
> Stangor
> Sent: January-22-15 11:01 AM
> To: r-help at r-project.org
> Subject: [R] 'which' statement for recode?
> 
> Hi,
> 
> Is there a way to easily convert the list of course terms into sequential
> integers in the dataframe (see code below)?
> 
> eg. "199801" = 1; "199808"=2
> 
> I know I can use recode but shouldn't "which" work?
> 
> Thanks in advance!
> 
> 
> sc = data.frame(c("200208", "200701", "201201"))
> names(sc) = c("TERM")
> 
> TermList = c(NA, "199801", "199808", "199901", "199908", "200001",
"200008",
> "200101", "200108",
>              "200201", "200208", "200301", "200308", "200401", "200408",
"200501",
> "200508",
>              "200601", "200608", "200701", "200708", "200801", "200808",
"200901",
> "200908",
>              "201001", "201008", "201101", "201108", "201201", "201308",
"201401",
> "201408")
> 
> which(TermList==sc$TERM)
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.


---
This email has been checked for viruses by Avast antivirus software.
http://www.avast.com



More information about the R-help mailing list