[R] recode the same subset of variables in several list elements

Jim Lemon drjimlemon at gmail.com
Fri Apr 3 00:30:18 CEST 2015


Hi Simon,
How about this?

library(plotrix)
revlist<-grep("i",names(df),fixed=TRUE)
df[,revlist]<-sapply(df[,revlist],rescale,c(3,1))

Jim


On Fri, Apr 3, 2015 at 6:30 AM, Simon Kiss <sjkiss at gmail.com> wrote:

> Hi there: I have a list of data frames with identical variable  names.
> I’d like to reverse scale the same variables in each data.frame.
> I’d appreciate any one’s suggestions as to how to accomplish this. Right
> now, I’m working with the code at the very bottom of my sample data.
> Thanks, Simon Kiss
>
> #Create data.frame1
> df<-data.frame(
>   ivar1=sample(c(1,2,3), replace=TRUE, size=100),
>   ivar2=sample(c(1,2,3), replace=TRUE, size=100),
>   hvar1=sample(c(1,2,3), replace=TRUE, size=100),
>   hvar2=sample(c(1,2,3), replace=TRUE, size=100),
>   evar1=sample(c(1,2,3), replace=TRUE, size=100),
>   evar2=sample(c(1,2,3), replace=TRUE, size=100)
>   )
>
> #data.frame2
>   df1<-data.frame(
>     ivar1=sample(c(1,2,3), replace=TRUE, size=100),
>     ivar2=sample(c(1,2,3), replace=TRUE, size=100),
>     hvar1=sample(c(1,2,3), replace=TRUE, size=100),
>     hvar2=sample(c(1,2,3), replace=TRUE, size=100),
>     evar1=sample(c(1,2,3), replace=TRUE, size=100),
>     evar2=sample(c(1,2,3), replace=TRUE, size=100)
>   )
>
> #List
> list1<-list(df, df1)
> #vector of first variables I’d like to recode
> i.recodes<-grep('^i.', names(df), value=TRUE)
> #Vector of second variables to recode
> e.recodes<-grep('^e.', names(df), value=TRUE)
>
> #Set up RESCALE function from RPMG package
> RESCALE <- function (x, nx1, nx2, minx, maxx)
> { nx = nx1 + (nx2 - nx1) * (x - minx)/(maxx - minx)
>   return(nx)
> }
>
> #This is what I’m playing around with
> test<-lapply(list1, function(y) {
>   out<-y[,i.recodes]
>   out<-lapply(out, function(x) RESCALE(x, 0,1,1,6))
>   y[,names(x)]<-out
> })
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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.

	[[alternative HTML version deleted]]



More information about the R-help mailing list