Thanks, you're a lifesaver. -J
2010/3/30 Henrique Dallazuanna <www...@gmail.com>: > Using lapply: > > as.data.frame(lapply(df, cut, breaks = c(-Inf, 3, 8, 16), labels = > c('x', 'y', 'z'))) > > > On Tue, Mar 30, 2010 at 10:14 AM, johannes rara <johannesr...@gmail.com> > wrote: >> Thanks John and Henrique, my intention is to do this for A, B and C >> (all at once), so I'll have to wrap your solution into lapply or for >> loop? >> >> -J >> >> 2010/3/30 Henrique Dallazuanna <www...@gmail.com>: >>> You could try this also: >>> >>> cut(df$A, c(-Inf, 3, 8), labels = c('x', 'y')) >>> >>> On Tue, Mar 30, 2010 at 8:30 AM, johannes rara <johannesr...@gmail.com> >>> wrote: >>>> Hi, >>>> >>>> Is there an efficient way recoding variables in a data.frame using >>>> base R? My purpose is to create >>>> new variables and attach them into old data.frame. The basic idea is >>>> shown below, but how to create recoding for A, B and C and assing them >>>> into new variables? >>>> >>>> df <- data.frame(A = c(1:5), >>>> B = c(3,6,2,8,10), >>>> C = c(0,15,5,9,12)) >>>> >>>> df$A[df$A <= 3] <- "x" >>>> df$A[df$A > 3 & df$A <= 8] <- "y" >>>> df$A[df$A <= 16] <- "z" >>>> >>>> Thanks, >>>> -J >>>> >>>> ______________________________________________ >>>> R-help@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. >>>> >>> >>> >>> >>> -- >>> Henrique Dallazuanna >>> Curitiba-Paraná-Brasil >>> 25° 25' 40" S 49° 16' 22" O >>> >> > > > > -- > Henrique Dallazuanna > Curitiba-Paraná-Brasil > 25° 25' 40" S 49° 16' 22" O > ______________________________________________ R-help@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.