Is there a way to rename R objects? I am looking for a way to rename objects without making new objects. #For example: x = c(1:40) # I wish to use a function to rename x, already created, to y, perhaps by obj.rename(x,y) # or obj.rename("x","y") There are numerous examples of renaming variables (columns) in dataframes, but I have found no methods for renaming objects. The functionassign() does not do this. Thank you for any help you can give. Cordially Giles Crane, M.Phil., MPH Research Scientist & Statistician New Jersey Department of Health & Senior Services Tel 609 292-8012, -5666 Fax 609 292-9288 giles.crane at doh.state.nj.us
On 03/03/2008, at 22.20, Giles.Crane at doh.state.nj.us wrote:> Is there a way to rename R objects? > I am looking for a way to rename objects > without making new objects. > > #For example: > x = c(1:40) > # I wish to use a function to rename x, already created, to y, > perhaps by > obj.rename(x,y) > # or > obj.rename("x","y")y <- x # changes x to y with same values. Ericka
This does not really answer your question but the following lets you refer to an object by a second name although the object still has its original name as well.> a <- 3 > makeActiveBinding("b", function() a, .GlobalEnv)NULL> b[1] 3> a <- 4 > b[1] 4 On Mon, Mar 3, 2008 at 4:20 PM, <Giles.Crane at doh.state.nj.us> wrote:> > Is there a way to rename R objects? > I am looking for a way to rename objects > without making new objects. > > #For example: > x = c(1:40) > # I wish to use a function to rename x, already created, to y, perhaps by > obj.rename(x,y) > # or > obj.rename("x","y") > > There are numerous examples of renaming > variables (columns) in dataframes, but I have > found no methods for renaming objects. > The functionassign() does not do this. > > Thank you for any help you can give. > Cordially > > Giles Crane, M.Phil., MPH > Research Scientist & Statistician > New Jersey Department of Health & Senior Services > Tel 609 292-8012, -5666 > Fax 609 292-9288 > giles.crane at doh.state.nj.us > > ______________________________________________ > 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. >
Thank you all for your enlightening replies. Hadley mentioned first that a mere assignment in R does not double storage. Hence once solution is: y <- x rm(x) Gabor gave a deeper solution which permits assigning a second name: makeActive Binding("y",function() x, .GlobalEnv) The reason for my question was to form a function: --read, in chunks, a large file which does not fit in memory --abstract one variable, which does fit in memory. -- save that variable in .Rdata format under a chosen name. DIAG1 = getvar("bigfile.txt", startchar, endchar) save(DIAG1, file = "DIAG1.Rdata") I am now testing this approach. Cordially, Giles Giles Crane, M.Phil., MPH Research Scientist & Statistician Tel 609 292-8012, -5666 Fax 609 292-9288 giles.crane at doh.state.nj.us __________________ This does not really answer your question but the following lets you refer to an object by a second name although the object still has its original name as well.> a <- 3 > makeActiveBinding("b", function() a, .GlobalEnv)NULL> b[1] 3> a <- 4 > b[1] 4 On Mon, Mar 3, 2008 at 4:20 PM, <Giles.Crane at doh.state.nj.us> wrote:> > Is there a way to rename R objects? > I am looking for a way to rename objects > without making new objects. > > #For example: > x = c(1:40) > # I wish to use a function to rename x, already created, to y, perhaps by > obj.rename(x,y) > # or > obj.rename("x","y") > > There are numerous examples of renaming > variables (columns) in dataframes, but I have > found no methods for renaming objects. > The functionassign() does not do this. > > Thank you for any help you can give. > Cordially > > Giles Crane, M.Phil., MPH > Research Scientist & Statistician > New Jersey Department of Health & Senior Services > Tel 609 292-8012, -5666 > Fax 609 292-9288 > giles.crane at doh.state.nj.us > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guidehttp://www.R-project.org/posting-guide.html> and provide commented, minimal, self-contained, reproducible code.>
You might be able to just read in that single column rather than read the file in chunks by using colClasses arg of read.table with "NULL" for all columns except the one you want. The sqldf package is another way -- see example 6 on the home page. You specify what you want using SQL: http://sqldf.googlecode.com readTableIndex in R.utils has the purpose of only reading a single column. http://finzi.psych.upenn.edu/R/library/R.utils/html/readTableIndex.html On Tue, Mar 4, 2008 at 9:52 AM, <Giles.Crane at doh.state.nj.us> wrote:> > Thank you all for your enlightening replies. > > Hadley mentioned first that a mere assignment in R does not double storage. > Hence once solution is: > y <- x > rm(x) > > Gabor gave a deeper solution which permits assigning a second name: > makeActive Binding("y",function() x, .GlobalEnv) > > The reason for my question was to form a function: > --read, in chunks, a large file which does not fit in memory > --abstract one variable, which does fit in memory. > -- save that variable in .Rdata format under a chosen name. > > DIAG1 = getvar("bigfile.txt", startchar, endchar) > save(DIAG1, file = "DIAG1.Rdata") > > I am now testing this approach. > Cordially, > Giles > > Giles Crane, M.Phil., MPH > Research Scientist & Statistician > Tel 609 292-8012, -5666 > Fax 609 292-9288 > giles.crane at doh.state.nj.us > > __________________ > > > This does not really answer your question but the following > lets you refer to an object by a second name although the object > still has its original name as well. > > > a <- 3 > > makeActiveBinding("b", function() a, .GlobalEnv) > NULL > > b > [1] 3 > > a <- 4 > > b > [1] 4 > > > On Mon, Mar 3, 2008 at 4:20 PM, <Giles.Crane at doh.state.nj.us> wrote: > > > > Is there a way to rename R objects? > > I am looking for a way to rename objects > > without making new objects. > > > > #For example: > > x = c(1:40) > > # I wish to use a function to rename x, already created, to y, perhaps by > > obj.rename(x,y) > > # or > > obj.rename("x","y") > > > > There are numerous examples of renaming > > variables (columns) in dataframes, but I have > > found no methods for renaming objects. > > The functionassign() does not do this. > > > > Thank you for any help you can give. > > Cordially > > > > Giles Crane, M.Phil., MPH > > Research Scientist & Statistician > > New Jersey Department of Health & Senior Services > > Tel 609 292-8012, -5666 > > Fax 609 292-9288 > > giles.crane at doh.state.nj.us > > > > ______________________________________________ > > > 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. > > > > ______________________________________________ > 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. >
Ein eingebundener Text mit undefiniertem Zeichensatz wurde abgetrennt. Name: nicht verf?gbar URL: https://stat.ethz.ch/pipermail/r-help/attachments/20080304/ab4d4489/attachment.pl
Bingo! See ?exists G. On Tue, Mar 04, 2008 at 04:38:31PM +0100, Paul Hammer wrote:> hi members, > > give it a function for requesting if a object, matrix, vector, variable > or whatever already exists? > > e.g. if (*exists*(a) {print("yes") } else { print("no") } > > thanks > paul > > [[alternative HTML version deleted]] > > ______________________________________________ > 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.-- Csardi Gabor <csardi at rmki.kfki.hu> UNIL DGM