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.