Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rcpp未正确安装,R2.15.2_R_Rcpp - Fatal编程技术网

Rcpp未正确安装,R2.15.2

Rcpp未正确安装,R2.15.2,r,rcpp,R,Rcpp,在Linux Ubuntu 12.04和R2.15.2上安装Rcpp 注意:R和rcpp均已于昨天安装;所以我希望是最新的版本,但是Rcpp是作为过时的版本安装的 > old.packages() Package LibPath Installed Built ReposVer Rcpp "Rcpp" "/usr/lib/R/site-library" "0.9.9" "2.14.1" "0.10.2" rgl "r

在Linux Ubuntu 12.04和R2.15.2上安装
Rcpp
注意:R和rcpp均已于昨天安装;所以我希望是最新的版本,但是
Rcpp
是作为过时的版本安装的

> old.packages()

     Package LibPath                   Installed  Built    ReposVer  
Rcpp "Rcpp"  "/usr/lib/R/site-library" "0.9.9"    "2.14.1" "0.10.2"  
rgl  "rgl"   "/usr/lib/R/site-library" "0.92.798" "2.12.1" "0.92.894"
     Repository                                 
Rcpp "http://www.stats.bris.ac.uk/R/src/contrib"
rgl  "http://www.stats.bris.ac.uk/R/src/contrib"
> update.packages("Rcpp")
如最后一行所示,它根本没有更新包
Rcpp
;这是什么原因造成的?我可以做些什么来解决这一问题

NB尝试从两个不同的存储库重新安装,这两个存储库都声称拥有最新版本的rcpp 0.10.2

问候


杰菲,你只是误解了

您拥有的Rcpp来自Ubuntu,通过apt get等安装。当发行版冻结时,该版本将被冻结。这类似于gcc、emacs。。。不是现在可用的最新版本,而是制作发行版时采用的版本。 顺便说一句,即使是Ubuntu版本现在也有一个版本已经过时,因为12.10已经过时了

所以你的题目错了。您的版本已正确安装为Ubuntu 12.04的一部分。现在有意义了吗

现在,如果您通过
install.packages()
从CRAN安装Rcpp,您将获得当前版本idem for rgl

(launchpad上还有一个PPA,它可能同时包含两个作为prebuild.deb包。)

最后,前面已经解释过,路径
/usr/lib/R/site library
用于安装为.deb文件的
R-cran-*
包,其中
/usr/local/lib/R/site library
用于本地 从R本身安装。由于这种拆分,从前一个路径驱动的
old.packages()
的输出,例如
/usr/lib/R/site library
被绑定到后面,因为它是由发行版(这里是Ubuntu)管理的。您选择发行版是因为其组件的稳定性——您可以在
/usr/local/lib/R/site library
中使用CRAN包对其进行扩展。这绝对是一个特点

从我的Ubuntu盒中可以看到这一点:

R> old.packages(lib.loc="/usr/local/lib/R/site-library/")
NULL
R> 

你只是误解了

您拥有的Rcpp来自Ubuntu,通过apt get等安装。当发行版冻结时,该版本将被冻结。这类似于gcc、emacs。。。不是现在可用的最新版本,而是制作发行版时采用的版本。 顺便说一句,即使是Ubuntu版本现在也有一个版本已经过时,因为12.10已经过时了

所以你的题目错了。您的版本已正确安装为Ubuntu 12.04的一部分。现在有意义了吗

现在,如果您通过
install.packages()
从CRAN安装Rcpp,您将获得当前版本idem for rgl

(launchpad上还有一个PPA,它可能同时包含两个作为prebuild.deb包。)

最后,前面已经解释过,路径
/usr/lib/R/site library
用于安装为.deb文件的
R-cran-*
包,其中
/usr/local/lib/R/site library
用于本地 从R本身安装。由于这种拆分,从前一个路径驱动的
old.packages()
的输出,例如
/usr/lib/R/site library
被绑定到后面,因为它是由发行版(这里是Ubuntu)管理的。您选择发行版是因为其组件的稳定性——您可以在
/usr/local/lib/R/site library
中使用CRAN包对其进行扩展。这绝对是一个特点

从我的Ubuntu盒中可以看到这一点:

R> old.packages(lib.loc="/usr/local/lib/R/site-library/")
NULL
R> 

在上一篇文章之前,我还运行了install.packages(),并在检查旧的.packages()之前重新启动了R(使用SudoR)。我现在已经检查了lib.loc“…”,是的,但似乎我已经安装了两个版本的rcpp;但是命令库(rcpp)正在接收旧的库。如何将其指向新版本?刚刚尝试了库(rcpp,lib.loc=“/usr/local/lib/R/site library/”)并且C++代码工作了(即读取库的正确版本);我认为现在对所有其他库都是必需的了吗?“LybPATSH())返回什么?您应该有三个条目,其中一个是第一个,因此是默认的,这样的方式<代码> /Ur/Suth<代码>优先。通过
/etc/R/Renvinron
,一个指向
$R\u HOME/etc/Renviron
中文件的软链接。您可能(意外地)覆盖了它吗?我在上一篇文章之前也运行了install.packages(),然后在检查旧的.packages()之前重新启动了R(使用sudo R)。我现在已经检查了lib.loc”“…”是的,我似乎安装了两个版本的rcpp;但是命令库(Rcpp)正在接收旧的库。我如何将它指向新版本?刚刚尝试的库(RCPP,LIB,LOC=“/Ur/Prime/LIb/R/StutoLabor”),C++代码工作了(即,读取正确的库版本);我假设这对于所有其他库都是必需的,.libpath()返回什么?您应该有三个条目,其中一个是第一个条目,因此是默认条目-
/usr/local
具有优先权。我们通过
/etc/R/Renvinron
设置
.libpath()
,这是一个指向
$R\u HOME/etc/Renviron
中文件的软链接。你可能(意外地)覆盖了这个吗?