Hello, I have a data frame with 2 columns: year and code. In code column, I want to replace elements that are not "8210", "8310", or "9190" with "others". -- Sincerely, Yosub Jung. [[alternative HTML version deleted]]
Hi Yosub,
if "dat" is your data frame, try something like (untested):
dat$code[!dat$code %in% c("8210", "8310", "9190")]
<- "others"
the general idea being create a logical vector of codes that match the
three you want, use "!" to negate this (so you are getting all codes
NOT in the ones you want), and then use this to selectively assign
"others".
For documentation, see
?match
?Logic
Hope this helps,
Josh
On Sat, Apr 23, 2011 at 11:31 AM, Yosub Jung <yosubjung at berkeley.edu>
wrote:> Hello,
>
> I have a data frame with 2 columns: year and code. In code column, I want
to
> replace elements that are not "8210", "8310", or
"9190" with "others".
>
> --
> Sincerely,
> Yosub Jung.
>
> ? ? ? ?[[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.
>
--
Joshua Wiley
Ph.D. Student, Health Psychology
University of California, Los Angeles
http://www.joshuawiley.com/
Hey, Try the following code: a=c(1,2,3,4,5) b=c(10,20,30,40,50) c=c(100,200,300,400,500) d=c(1000,8210,9000,8310, 7000) e=c(5555,6666,9190,7777,3333) to.replace=c(8210,8310,9190) df = data.frame(a,b,c,d,e) xdf <- apply(df, 2, function(x) x %in% to.replace) df[xdf] <- "others" -- View this message in context: http://r.789695.n4.nabble.com/replace-certain-elements-in-data-frame-tp3470629p3470905.html Sent from the R help mailing list archive at Nabble.com.