Проверьте / обратите внимание на разницу между
C:/Users/AndrisLagerlvf/Documents/R/win-library/3.6
и
'C:/Users/AndrésLagerlöf/Documents/R/win-library/3.6/broom
То есть (международное) кодирование, показывающее его уродливое лицо.
Я бы предложил следующее как решение, а также довольно распространенную хорошую практику. Создайте (скорее всего, локальный) каталог, где у вас есть «хороший» доступ, который НЕ содержит каких-либо exoti c символов (например, C: \ R-PKGS \ win-library \ 3.6), затем установите его в качестве стандартной библиотеки путь
.libPaths(c("C:/R-PKGS/win-library/3.6", .libPaths())) #watch out for the direction of the slashes (normal ones - not backslashes, since this is R code)
Поместите указанную выше строку в файл / ваш ~/.Rprofile
, например, запустив file.edit('~/.Rprofile')
в консоли. Дайте мне знать, если это не поможет? Мне любопытно, потому что вы упомянули, что иногда это работает - я предполагаю, что ваша подпрограмма работает для тех пакетов, которые установлены в R_HOME/library
, а не для тех, которые установлены в вашем каталоге User, который содержит символы exoti c. Кроме того, вы можете смешивать свои настройки локали до тех пор, пока R не будет удовлетворен ими, но я не тестировал такое решение (пока) ... поскольку это потребовало бы значительных корректировок моих настроек локали и набора текста (извините за это).
Или даже лучше, если вы хотите, чтобы R разветвлялся в соответствии с вашей версией ie, если у вас есть несколько подпапок для нескольких разных минорных версий R (например, R-3.5 и R-3.6 рядом) ie это Вот как выглядит мой параметр libPath
.libPaths( c( paste0( "D:/R_LIB/", substr(getRversion(),1,3) ), .libPaths() ) )
Это дает преимущество по сравнению с подходом ENV VAR в том, что вы можете управлять несколькими подпапками библиотеки R.version ...