Well, I think that's kind of overkill. Assuming "oldvar" is a factor in the data frame mydata, then the following shows how to do it:
> set.seed(27) > d <- data.frame(a = sample(c(letters[1:3],NA),15,replace = TRUE)) > d a 1 <NA> 2 a 3 <NA> 4 b 5 a 6 b 7 a 8 a 9 a 10 a 11 c 12 <NA> 13 c 14 c 15 <NA> > d$b <- factor(d$a,labels = LETTERS[3:1]) > d a b 1 <NA> <NA> 2 a C 3 <NA> <NA> 4 b B 5 a C 6 b B 7 a C 8 a C 9 a C 10 a C 11 c A 12 <NA> <NA> 13 c A 14 c A 15 <NA> <NA> See ?factor for details. Incidentally note that in the OP's post, mydata$newvar[oldvar = "topic1"] <- "parenttopic" is completely incorrect; it should probably be: mydata$newvar[mydata$oldvar == "topic1"] <- "parenttopic"; This suggests to me that the OP would probably find it useful to spend some time with one or more of the many good R tutorials on the web. Cheers, Bert Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Mon, Oct 10, 2016 at 9:08 AM, S Ellison <s.elli...@lgcgroup.com> wrote: >> Is there a convenient way to edit this code to allow me to recode a list of >> categories 'topic 1', 'topic 9' and 'topic 14', say, of the the old variable >> 'oldvar' >> as 'parenttopic' by means of the new variable 'newvar', while also mapping >> system missing values to system missing values? > > You could look at 'recode()' in the car package. > > There's a fair description of other options at > http://www.uni-kiel.de/psychologie/rexrepos/posts/recode.html > > S Ellison > > > > > ******************************************************************* > This email and any attachments are confidential. Any u...{{dropped:8}} ______________________________________________ R-help@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.