Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Change path.expand location (Win 7)

Tags:

r

Currently:

path.expand("~")

Gives:

"C:\\Users\\trinker\\Documents"

I want it to yield:

"C:\\Users\\trinker"

The directory for the windows command prompt is C:\Users\trinker. This indicates that this is my windows home directory.

?path.expand tells me to look at the rw-FAQ (LINK). This gives information above my cognitive ability. I decided to try to experiment as below:

> Sys.getenv("R_USER")
[1] "C:\\Users\\trinker\\Documents"
> normalizePath("~")
[1] "C:\\Users\\trinker\\Documents"

> Sys.getenv("R_USER") <- "C:\\Users\\trinker"
Error in Sys.getenv("R_USER") <- "C:\\Users\\trinker" : 
  target of assignment expands to non-language object
> normalizePath("~") <- "C:\\Users\\trinker"
Error in normalizePath("~") <- "C:\\Users\\trinker" : 
  target of assignment expands to non-language object 

I saw:

Sys.setenv(...)
Sys.unsetenv(x)

But got scared I was messing with things I ought not be blindly messing with and decided to ask for guidance.

So again I would like to have ~ mean C:\\Users\\trinker\\ again (this was the default for my last PC) not the C:\\Users\\trinker\\Documents it is now.

like image 310
Tyler Rinker Avatar asked Jun 12 '12 20:06

Tyler Rinker


1 Answers

To persistently reset the directory that "~" resolves to for all users, put the following in the file Renviron.site, located in $RHOME/etc/Renviron.site:

R_USER="C:/Users/trinker"

(If the file is not already there, you can just create it yourself.)


If a computer supports multiple R users, and each wants to set their own R_USER location, each can put the following in their own ".Rprofile" file:

Sys.setenv(R_USER = "C:/Users/trinker")

".Rprofile" is looked for in the user's home directory, which is returned by typing Sys.getenv("HOME"). See ?Startup and the R for Windows FAQ for more details.

(Thanks to @Dason for pointing out the .Rprofile option.)

like image 161
Josh O'Brien Avatar answered Oct 23 '22 11:10

Josh O'Brien