簡體   English   中英

Windows 8上的R / Rstudio:當用戶名包含特殊/重音/非ASCII字符時,如何在用戶主目錄中安裝軟件包

[英]R/Rstudio on Windows 8: how to install packages in user home when username contains special/accented/non-ascii characters

前提:我正在嘗試調試學生的問題,當我獲得更多詳細信息時,我將使問題更精確。 這可能是由於某些較早的安裝問題所致。

首次通過install.packages安裝軟件包時,R建議在用戶家中創建個人庫C:\\Users\\username\\Documents

對話框:您想使用個人圖書館嗎?

在這種情況下,用戶名包含一個帶重音的字符,該字符在對話框中看起來已經被打亂了:

對話框:您想創建個人圖書館嗎?

該命令失敗,因為它嘗試創建一個新文件夾C:\\Users\\Noémie而不是使用現有的C:\\Users\\Noémie

install.packages錯誤

現在,翻譯éé是UTF-8編碼的字符的解碼結果é假設WINDOWS-1252的編碼。 所以我的猜測是R假設文件名的編碼錯誤。

我已經花了一些時間尋找解決方案,關於文件內容編碼問題有很多信息,但是除了這個未解決的問題之外,我在Windows上找不到關於R的文件名編碼問題的任何信息。 而且我猜想很多人的Windows用戶名中都有特殊字符,他們仍然設法運行R。因此,這似乎是一個罕見的錯誤,應該有一種解決方法。

附加信息:我得到了sessionInfo()的輸出:

R version 3.2.2 (2015-08-14)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 8 x64 (build 9200)

locale:
[1] LC_COLLATE=French_Belgium.1252  LC_CTYPE=French_Belgium.1252       LC_MONETARY=French_Belgium.1252
[4] LC_NUMERIC=C                    LC_TIME=French_Belgium.1252

我的一個學生有同樣的問題。 此外,當主目錄的路徑(在整個RStudio中用〜表示)包含重音字母時,RStudio不會讀取R的配置文件〜/ .Renviron和〜/ .Rprofile。

這會為包安裝創建一個catch 22:RStudio無法創建其默認個人庫,並且您無法通過在〜/ .Renviron中設置R_LIBS_USER來指定另一個。

(請注意,R GUI可以正常工作。)

據我所知,以下似乎是一個可行的解決方法:欺騙RStudio認為主目錄位於路徑中沒有重音字母的其他位置。 為此,必須創建或修改一個稱為HOME的環境變量。

例如,將用戶環境變量HOME設置為“ C:\\”,RStudio會將〜視為C:。 R的配置文件放在C:\\中,將在啟動時讀取。

據我所知,HOME不是Windows上的默認環境變量,並且定義它不會干擾“正常” Windows應用程序。

我正在運行Win10 32位和R的舊版本( R version 3.1.0 (2014-04-10) -- "Spring Dance" Platform: i386-w64-mingw32/i386 (32-bit) ),但是以下解決方案可能適合您:

install.packages()具有一個lib參數,您可以在其中指定要將軟件包安裝到的位置。

我能夠成功運行命令

install.packages('plyr', lib='C:/Noémie')

install.packages('plyr', lib='C:/Users/Roland')

我無法成功運行以下命令,這可能是由於Windows權限以及能夠在非您的用戶目錄中寫入的原因(因為我是Roland,而不是Noémie):

> install.packages('plyr', lib='C:/Users/Noémie')
Warning in install.packages :
'lib = "C:/Users/Noémie"' is not writable
Error in install.packages : unable to install packages

最后一條命令會為您解決問題嗎? 如果不是這樣,嘗試傳遞傳遞給lib的字符向量的編碼可能會很孤立。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM