[R] Strange behaviour of setwd/getwd

David L Carlson dcarlson at tamu.edu
Fri Nov 2 22:49:37 CET 2012


Aren't you just looking for this?

> default.wd <- setwd(tmp.wd <- choose.dir())

----------------------------------------------
David L Carlson
Associate Professor of Anthropology
Texas A&M University
College Station, TX 77843-4352


> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
> project.org] On Behalf Of Berend Hasselman
> Sent: Friday, November 02, 2012 3:36 PM
> To: Markus Holotta
> Cc: r-help at r-project.org
> Subject: Re: [R] Strange behaviour of setwd/getwd
> 
> 
> On 02-11-2012, at 21:02, Markus Holotta wrote:
> 
> > Maybe my question was not clear enough:
> > default.wd is the working dir defined in the RStudio options.
> > In my script I want to change it temporarily to another directory by
> setwd(choose.dir()) and set it back to the default.wd before calling
> another script. But after choosing the new directory tmp.wd shows the
> same path in the workspace as default.wd. Calling getwd() shows the
> correct path.
> > Hope its clearer now.
> >
> 
> No.
> Read the help for setwd().
> 
> setwd returns the current directory before the change, invisibly and
> with the same conventions as getwd. It will give an error if it does
> not succeed (including if it is not implemented).
> 
> The essential bit is "before the change".
> 
> Berend
> 
> 
> >
> > Am 02.11.2012, 19:14 Uhr, schrieb Duncan Murdoch
> <murdoch.duncan at gmail.com>:
> >
> >> On 02/11/2012 12:57 PM, Markus Holotta wrote:
> >>> I've found the following strange behaviour R (RStudio) which has
> been
> >>> confirmed by another user in RGui.
> >>>
> >>>
> >>> Inside a script I want to set two variables:
> >>>
> >>> default.wd = getwd()
> >>> tmp.wd = setwd(choose.dir())
> >>>
> >>> After choosing tmp.wd the value of default.wd is shown in
> Workspace, but
> >>> getwd() is giving back the correct string of tmp.wd.
> >>>   Is there a workaround for the problem?
> >>>
> >>
> >>
> >> It's not clear what the problem is from your post.  As the help page
> says, both default.wd and tmp.wd should be the same after executing
> those two lines.  If you want to store both the old and new
> directories, you should do it like this:
> >>
> >> old.wd <- setwd(choose.dir())
> >> new.wd <- getwd()
> >>
> >> Duncan Murdoch
> >
> > ______________________________________________
> > 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.




More information about the R-help mailing list