我试过寻找答案,但似乎无法找到任何解决方法。我最近为R安装了“插入符号”包,但是当我尝试训练任何模型时,它会给我以下错误:
Warning: namespace ‘compiler’ is not available and has been replaced
by .GlobalEnv when processing object ‘sep’
Error in comp(expr, env = envir, options = list(suppressUndefined = TRUE)) :
could not find function "makeCenv"
据我所知,这与内置编译器包有关。我见过的大多数答案都提到了doMC包,但我不认为这是相关的,因为我没有并行化任何东西。我已经能够在其他机器上成功运行相同的代码,所以我完全不知道问题可能是什么。以下是一些导致错误的示例代码:
library(caret)
fit.knn <- train(Species ~ ., data=iris, method="knn")
我使用的方法或我训练的数据似乎并不重要。我尝试重新安装包,并重新安装R。我在Windows上运行R v.3.3.2,插入包是最新版本。任何帮助将不胜感激!
答案 0 :(得分:0)
我终于找到了解决这个问题的方法。我一直在使用一种特殊的设置,我将库位置设置为全局文件夹,因此我不必将所有包裹从&#34; 3.2&#34;文件夹到&#34; 3.3&#34;文件夹等每次我更新R.我的解决方案工作,但有副作用删除程序文件中的默认库位置(包括基本包的那个)。
对于我所做的一切,这似乎完全正常,所以在我开始使用 caret 之前我从未发现过问题。但由于某些原因,显然内置的编译器包(由插入符号的某些依赖项使用)无法正常使用该设置,并且需要显式引用到.libPaths()
中的Program Files库位置。将事情改回默认值后,一切似乎都运转良好。
因此,虽然这是一个模糊的错误,可能不是人们可能会遇到的问题,但对于那些从Google到达此处的人,请检查libPaths()
并确保其中有两个位置:您的用户文件夹(&#34) ;我的文档&#34;默认情况下)和包含所有基本软件包的默认库位置(在&#34; Program Files&#34;中)。