Skip to content

replace certain elements in data frame

3 messages · Yosub Jung, Joshua Wiley, sneaffer

#
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:

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