You have to return the value of 'data' from the function. Functions do not have "side effects".
> data<-data.frame(col1=c(1,2,3,4,5)) > > getcol2<-function(data){ + data$col2[data$col1<=2]="L" + data # return value + } > > getcol2(data) col1 col2 1 1 L 2 2 L 3 3 <NA> 4 4 <NA> 5 5 <NA> > On Mon, Aug 13, 2012 at 9:08 PM, Sachinthaka Abeywardana <sachin.abeyward...@gmail.com> wrote: > Hi all, > > I want to do the following: > > data<-data.frame(col1=c(1,2,3,4,5)) > > getcol2<-function(data){ > data$col2[data$col1<=2]="L" > } > > getcol2(data) > > Unfortunately in the above col2 does not appear in the final data. So how > would you pass this by reference such that you would get it back? > > Thanks, > Sachin > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. -- Jim Holtman Data Munger Guru What is the problem that you are trying to solve? Tell me what you want to do, not how you want to do it. ______________________________________________ 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.