2012-06-12 51 views
11

目前:更改path.expand位置(Win 7的)

path.expand("~") 

給出:

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

我希望它產生:

"C:\\Users\\trinker" 

爲Windows目錄命令提示符是C:\Users\trinker。這表明這是我的Windows主目錄。

?path.expand告訴我看rw-FAQ (LINK)。這提供了高於我的認知能力的信息。我決定嘗試如下的實驗:

> 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 

我看到:

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

但害怕了,我的東西我不應該與一味搞亂搞亂,並決定尋求指導。

所以我再次想~意味着C:\\Users\\trinker\\(這是我最後一臺PC的默認設置),而不是現在的C:\\Users\\trinker\\Documents

回答

10

持久地重置"~"解析爲所有用戶的目錄,把文件Renviron.site,位於$RHOME/etc/Renviron.site在以下幾點:

R_USER="C:/Users/trinker" 

(如果該文件已不存在,你可以創建它自己動手)


如果計算機支持多個存在的R用戶,每個人都希望自己設定R_USER的位置,每個人都可以把自己的".Rprofile"文件如下:

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

".Rprofile"在用戶的主目錄,這是由輸入Sys.getenv("HOME")返回尋找。有關更多詳細信息,請參閱?Startupthe R for Windows FAQ

(感謝@Dason您指出的.Rprofile選項。)

+0

爲什麼不Renviron.site? – GSee

+0

@GSee - 謝謝。我只是錯誤地輸入了內容,並且像我一樣抓住了它。 –

+5

將它放在Renviron.site中會影響計算機上的所有用戶嗎?儘管我相當肯定泰勒是他電腦上唯一使用R的人,但這似乎還不夠。將一個Sys.setenv調用添加到.Rprofile會更好嗎? '.first裏面的Sys.setenv(R_USER =「C:/ Users/trinker」)應該這樣做。 – Dason

0

另一種選擇是更新你用推出新的R會話的快捷的「目標」的字符串。爲此,請右鍵單擊該圖標,然後從上下文菜單中選擇「屬性」。選擇對話框的「快捷方式」選項卡,並將以下名稱/值對添加到target字段。

R_USER="c:\my\favorite\folder" 
R_USER="%USERPROFILE%" 

現在path.expand("~")將擴大到c:\my\favorite\folderc:\users\my name\

一些筆記。

  • 這也將改變其中R查找用戶的文件,如.RprofileRconsole和用戶封裝庫。
  • 如果你固定R鍵任務欄,你需要右鍵單擊任務欄圖標找到從任務欄啓動R上的快捷方式圖標(如下圖所示):

enter image description here