[R] assign question
Albyn Jones
jones at reed.edu
Mon Jul 20 20:50:47 CEST 2009
I don't think you want assign() here.
> x1 = rnorm(20)
> min(x1)
[1] -0.9723398
> min(eval(paste("x",1,sep=""))) # not the solution
[1] "x1"
> min(eval(as.name(paste("x",1,sep="")))) # a solution
[1] -0.9723398
try:
for(i in 1:27) {
xener[i] <- min(eval(as.name((paste("sa",i,sep="")))))
}
albyn
On Mon, Jul 20, 2009 at 01:26:05PM -0500, Erin Hodgess wrote:
> Dear R People:
>
> I have several vectors, sa1, sa2,...sa27 of varying lengths.
>
> I want to produce one vector xener[1:27] which has the minimum of each sa[i].
>
> I'm trying to set up a loop and use the assign statement, but here are
> my results:
>
> > for(i in 1:27) {
> + xener[i] <- min(assign(paste("sa",i,sep="")))
> + }
> Error in assign(paste("sa", i, sep = "")) :
> element 2 is empty;
> the part of the args list of '.Internal' being evaluated was:
> (x, value, envir, inherits)
> >
>
> Any suggestions would be most welcome.
>
> Thanks in advance,
> Erin
>
>
> --
> Erin Hodgess
> Associate Professor
> Department of Computer and Mathematical Sciences
> University of Houston - Downtown
> mailto: erinm.hodgess at gmail.com
>
> ______________________________________________
> 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.
>
More information about the R-help
mailing list