Yes, assign() and get() can do this, but I think the [[]] syntax is simpler and makes it easier to switch between lists and environments for data organization.
E.g., the translation of myData[[varName]][4] <- myData[[varName]][4] * 100 where myData is an environment to the get/assign style would be something like tmp <- get(varName, envir=myData) tmp[4] <- tmp[4] * 100 assign(varName, tmp, envir=myData) Bill Dunlap TIBCO Software wdunlap tibco.com 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. > > [[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.