[R] Problem with path.expand("~")

Sarah Goslee sarah.goslee at gmail.com
Tue Aug 11 16:51:28 CEST 2015


Hm.

On my linux system:

> path.expand("~")
[1] "/home/sarahg"

The help file says:
     Expand a path name, for example by replacing a leading tilde by
     the user's home directory (if defined on that platform).

Does Windows 7 define ~?

Just because RStudio defines it for you, doesn't mean that R shares that
same setup; if R is checking with the operating system, then it depends on
the Windows setup. You could, I assume, define ~ in Windows yourself, or
write your own path.expand() to do so. I have no idea which option the
RStudio designers took.

Could you use getwd() to get the output you're looking for? I would expect
~ to properly be "C:/Users/thierry_onkelinx" and getwd() to be what you've
set Start in as, suggesting that not only did RStudio define ~ for Windows,
they did it in a non-standard way. (Unless your home directory on Windows
should be Documents?)

Sarah

On Tue, Aug 11, 2015 at 10:41 AM, Thierry Onkelinx <thierry.onkelinx at inbo.be
> wrote:

> Dear all,
>
> I'm puzzled by the behaviour of path.expand("~")
>
> In the RStudio IDE the output is
> > path.expand("~")
> [1] "C:/Users/thierry_onkelinx/Documents"
>
> In the R GUI the output is
> > path.expand("~")
> [1] "~"
>
> But I'm expecting the same result as in the RStudio IDE. The "Start in"
> parameter of shortcut to the R GUI has the value
> "C:\Users\thierry_onkelinx\Documents"
>
> The problem is that I use normalizePath("~/analysis"). This
> yield "C:\\Users\\thierry_onkelinx\\Documents\\analysis" in RStudio
>
> It throws an error in the R GUI
> "C:\\Users\\thierry_onkelinx\\Documents\\~\\analysis"
> Warning message:
> In normalizePath(path.expand(path), winslash, mustWork) :
>   path[1]="~/analysis": Het systeem kan het opgegeven pad niet vinden
>
> # sessionInfo() in RStudio
> R version 3.2.1 (2015-06-18)
> Platform: x86_64-w64-mingw32/x64 (64-bit)
> Running under: Windows 7 x64 (build 7601) Service Pack 1
>
> locale:
> [1] LC_COLLATE=Dutch_Belgium.1252  LC_CTYPE=Dutch_Belgium.1252
>  LC_MONETARY=Dutch_Belgium.1252
> [4] LC_NUMERIC=C                   LC_TIME=Dutch_Belgium.1252
>
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
>
> loaded via a namespace (and not attached):
> [1] tools_3.2.1    fortunes_1.5-2
>
> # sessionInfo() from R GUI
> R version 3.2.1 (2015-06-18)
> Platform: x86_64-w64-mingw32/x64 (64-bit)
> Running under: Windows 7 x64 (build 7601) Service Pack 1
>
> locale:
> [1] LC_COLLATE=Dutch_Belgium.1252  LC_CTYPE=Dutch_Belgium.1252
> [3] LC_MONETARY=Dutch_Belgium.1252 LC_NUMERIC=C
> [5] LC_TIME=Dutch_Belgium.1252
>
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
>
> loaded via a namespace (and not attached):
> [1] tools_3.2.1    fortunes_1.5-2
>
>
> Best regards,
>
-- 
Sarah Goslee
http://www.functionaldiversity.org

	[[alternative HTML version deleted]]



More information about the R-help mailing list