I'll let Bill respond in detail if he cares to(he is both more knowledgable and fluent at this than I), but as a nearly unbreakable rule, get() and assign() should not be used in R. Basically, they represent a macro (script)-oriented strategy for handling R's objects, whereas R is designed to use an object-oriented ("everything is an object") and functional ("all procedures are functions") approach. Using get() and assign() leads to messy, confusing, error-prone, non-portable code in R, and that's why they should be avoided.
For details, you should consult web tutorials, John Chambers's books, and other books on R programming. Cheers, Bert Bert Gunter "Data is not information. Information is not knowledge. And knowledge is certainly not wisdom." -- Clifford Stoll On Fri, Jul 10, 2015 at 9:44 AM, Bastien Tran <bastien.t...@gmail.com> wrote: > Dear all, > > Provided I understood correctly, shouldn't assign() do the trick? Most > similar threads seem to include this approach (among others, indeed). > > Regards, > Bastien > > > On Wednesday, July 8, 2015 at 7:30:04 PM UTC+2, William Dunlap wrote: >> You can use an environment instead of a list using the same [[ syntax. It >> is like 'get0(..., inherit=FALSE)' on the left side of the <- and like >> 'assign(...)' on the right side. E.g., >> myData <- new.env() >> varName <- "v1" >> myData[[varName]] <- 1:10 >> myData[[varName]][4] <- myData[[varName]][4] * 100 >> myData[[varName]] >> # [1] 1 2 3 400 5 6 7 8 9 10 >> names(myData) >> # [1] "v1" >> (Before R-3.2.0 or so, you had to use objects(myData,all=TRUE) if >> myData was an environment and names(myData) if it was a list. Now >> names() works for environments.) >> >> It is better to use a dedicated environment (or list) for each set of >> related >> variables so that name collisions do not cause problems. >> >> >> Bill Dunlap >> TIBCO Software >> wdunlap tibco.com >> >> On Wed, Jul 8, 2015 at 10:06 AM, Greg Snow <538...@gmail.com> wrote: >> >> > This is FAQ 7.21. >> > >> > The most important part of the answer in FAQ 7.21 is the last section >> > where it states that it is often easier to use a list rather than >> > messing around with trying to dynamically name global variables. >> > >> > If you tell us what you are trying to accomplish then we may have >> > better advice. The route you are headed down now usually leads to >> > inefficient code and hard to find bugs. >> > >> > On Tue, Jul 7, 2015 at 2:53 PM, Jun Shen <jun.shen...@gmail.com> wrote: >> > > Dear list, >> > > >> > > Let's say we have a variable (id), whose name is dynamically constructed. >> > > This variable represents a vector or data frame with many elements. Now I >> > > want to specifically assign a value to one of the elements. I couldn't >> > get >> > > it right. >> > > >> > > test <- 'id' # "id" is dynamically constructed through paste() >> > > >> > > id <- 1:4 >> > > >> > > # I can get the element by doing >> > > >> > > get(test)[2] >> > > >> > > # Now I want to assign a value to the second element of this dynamical >> > > variable. >> > > >> > > get(test)[2] <- 5 # doesn't work. >> > > >> > > Thanks a lot. >> > > >> > > Jun Shen >> > > >> > > [[alternative HTML version deleted]] >> > > >> > > ______________________________________________ >> > > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >> > > 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. >> > >> > >> > >> > -- >> > Gregory (Greg) L. Snow Ph.D. >> > 538...@gmail.com >> > >> > ______________________________________________ >> > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >> > 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. >> > >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >> 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. > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.