[R] save objects of own function to workspace
David Winsemius
dwinsemius at comcast.net
Tue Feb 14 15:44:06 CET 2012
On Feb 14, 2012, at 9:20 AM, Marion Wenty wrote:
> Dear R-helpers,
>
> I created an own function which looks like this
>
> s_elternmz <- function(Var="balt")
> {
> Dg_a<-mz[,c("asbhh","apkz",Var)]
> colnames(Dg_a)[colnames(Dg_a)=="apkz"]<-"bpkzm"
> colnames(Dg_a)[colnames(Dg_a)==Var]<-paste(Var,"_m",sep="")
> mz_int<-merge(mz,Dg_a,by=c("asbhh","bpkzm"),all.x=T)
> colnames(Dg_a)[colnames(Dg_a)=="bpkzm"]<-"bpkzv"
>
> colnames(Dg_a)[colnames(Dg_a)==paste(Var,"_m",sep="")]<-
> paste(Var,"_v",sep="")
Why take two steps to change that column name?
> mz_int<-merge(mz_int,Dg_a,by=c("asbhh","bpkzv"),all.x=T)
You just overwrote an object that you created earklier but have not
done anything with in the meantime.
> mz_int <-
> mz_int[order(mz_int$asbhh,mz_int$apkz),
> c(colnames(mz),paste(Var,"_m",sep=""), paste(Var,"_v",sep=""))]
> }
>
> My problem is that the objects are not saved in the workspace.
> Especially I
> need the object which I created in the end - mz_int - because I want
> to do
> calculations with it in R afterwards.
Then just assign it:
mz_result <- s_elternmz()
As you have noticed, assignment inside a function is not a durable
event. The function returns the value of either its first encounter
with return() or the value
of hte last assignment (but not the name to which that object was
assigned.) Welcome to R's version of functional programming.
>
> Thank you very much for your help in advance.
>
> Marion
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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.
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list