Reputation: 109984
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.
Upvotes: 13
Views: 2944
Reputation: 59
Our sysadmin has setup the system in such a way that path.expand("~") or normalizePath("~") always lead to a mapped drive (\...). Creating a ".Renviron " file within the folder pointed by path.expand("~") with following content solved the problem for me :)
R_USER="C:/Users/animeshs"
HOME="C:/Users/animeshs"
So now
path.expand("~")
[1] "C:/Users/animeshs"
Upvotes: 0
Reputation: 10204
Another option is to update the 'target' string in the shortcut you use to launch a new R session. To to that, right click the icon, and select "Properties" from the context menu. Select the "Shortcut" tab of the dialog box, and add one the following name/value pairs to the target
field.
R_USER="c:\my\favorite\folder"
R_USER="%USERPROFILE%"
Now path.expand("~")
will expand to c:\my\favorite\folder
or to c:\users\my name\
.
A couple of notes.
.Rprofile
,Rconsole
, and user package library.Upvotes: 0
Reputation: 162411
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.)
Upvotes: 12