[R] 'which' statement for recode?

William Dunlap wdunlap at tibco.com
Thu Jan 22 17:27:48 CET 2015


You did not show what answer you expected, but does the following do what
you want?

  > match(sc$TERM, TermList)
  [1] 11 20 30

Making a factor whose levels are TermList may also be useful.  (The
exclude=NULL
is to factor doesn't drop NA from the levels).
  > sc$fTERM <- factor(sc$fTERM, levels=TermList, exclude=NULL)
  > str(sc)
  'data.frame':   3 obs. of  2 variables:
   $ TERM : Factor w/ 3 levels "200208","200701",..: 1 2 3
   $ fTERM: Factor w/ 33 levels NA,"199801","199808",..: 11 20 30



Bill Dunlap
TIBCO Software
wdunlap tibco.com

On Thu, Jan 22, 2015 at 8:01 AM, Charles Stangor <cstangor at gmail.com> wrote:

> 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.
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list