Your parameters to merge do not appear to be objects; they are strings, You
might want to try:
merge(x=get(paste("arunoff_",start_arunoff, sep="")),
y........
You might want to consider a 'list' for storing your data. Also are you
ever 'detach'ing? It is useful to find ways to avoid 'attach'
(IMHO).
On Fri, May 1, 2009 at 8:51 AM, Steve Murray <smurray444@hotmail.com>
wrote:
>
> Dear all,
>
> I am trying to use 'merge' within a loop, however, I receive an
error
> relating to the 'by' argument of the command, as follows:
>
> > merge_year <- 1986
> >
> > for (i in 1:10) { # Number of file pairs
> + assign(paste("merged_arunfek_", merge_year,
sep=""),
> merge(x=paste("arunoff_",start_arunoff, sep=""),
y=paste("fekete_",
> start_fekete, sep=""), by=c("Latitude",
"Longitude"), sort=FALSE))
> + attach(paste("merged_arunfek_", merge_year))
> + merge_year = merge_year+1
> + }
> Error in fix.by(by.x, x) : 'by' must specify valid column(s)
>
>
> However, as far as I can tell, the column names (as stated in the above
> code) appear to be valid:
>
>
> > colnames(arun_1986)
> [1] "Latitude" "Longitude" "Sim_1986"
> > colnames(fekete_1986)
> [1] "Latitude" "Longitude" "X1986"
>
>
> I'm trying to merge based on both the Latitude and Longitude column and
> have used by=c("name_x", "name_y") before without too
many problems. Any
> suggestions would be gratefully received.
>
> Many thanks,
>
> Steve
>
> ______________________________________________
> 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<http://www.r-project.org/posting-guide.html>
> and provide commented, minimal, self-contained, reproducible code.
>
--
Jim Holtman
Cincinnati, OH
+1 513 646 9390
What is the problem that you are trying to solve?
[[alternative HTML version deleted]]