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.

Reply via email to