Why do you want to create a variable within the function since it will
disappear after the return.  Is there a reason for that?  Here is one
way of getting the names by just using them on the cbind.

Also you are create a 'matrix' and 'names' is not appropriate for that
type of object.

> # Test Function
> myfunc <-function(var){
+  d   = c(1,2,3,4,5)
+  dts = seq(as.Date("2011-01-01"),by="month",length.out=length(d))
+
+  assign(paste(var,".df",sep=""), cbind(Dates = dts, Data = d))
+  get(paste(var,".df",sep=""))  # return object
+ }
>
> # Call Function
> myfunc("X")
     Dates Data
[1,] 14975    1
[2,] 15006    2
[3,] 15034    3
[4,] 15065    4
[5,] 15095    5


To get the same return value, you could:

> # Test Function
> myfunc <-function(var){
+  d   = c(1,2,3,4,5)
+  dts = seq(as.Date("2011-01-01"),by="month",length.out=length(d))
+
+  cbind(Dates = dts, Data = d)
+ }
>
> # Call Function
> myfunc("X")
     Dates Data
[1,] 14975    1
[2,] 15006    2
[3,] 15034    3
[4,] 15065    4
[5,] 15095    5
>


On Thu, Dec 22, 2011 at 2:15 PM, Pete Brecknock <peter.breckn...@bp.com> wrote:
> I am trying to rename column names in a dataframe within a function. I am
> seeing an error (listed below) that I don't understand.
>
> Would be grateful of an explanation of what I am doing wrong and how I
> should rewrite the function to allow me to be able to rename my variables.
>
> Thanks.
>
> # Test Function
> myfunc <-function(var){
>  d   = c(1,2,3,4,5)
>  dts = seq(as.Date("2011-01-01"),by="month",length.out=length(d))
>
>  assign(paste(var,".df",sep=""), cbind(dts, d))
>
>  names(get(paste(var,".df",sep="")))  <- c("Dates","Data")
> }
>
> # Call Function
> myfunc("X")
>
> # Error Message
> Error in names(get(paste(var, ".df", sep = ""))) <- c("Dates", "Data") :
>  could not find function "get<-"
>
> --
> View this message in context: 
> http://r.789695.n4.nabble.com/Renaming-Within-A-Function-tp4226368p4226368.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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