安装plyr / rcpp时出错

时间:2014-06-07 10:33:45

标签: r plyr rcpp

我有两台电脑,其中一台我无法为R安装plyr软件包。 这是我得到的错误:

* installing *source* package ‘plyr’ ...
** package ‘plyr’ successfully unpacked and MD5 sums checked
** libs
g++ -I/usr/share/R/include -DNDEBUG   -I"/usr/lib/R/site-library/Rcpp/include"   -fpic  -O2 -pipe -g  -c RcppExports.cpp -o RcppExports.o
RcppExports.cpp: En la función ‘SEXPREC* plyr_loop_apply(SEXP, SEXP)’:
RcppExports.cpp:15:9: error: ‘input_parameter’ no es un miembro de ‘Rcpp::traits’
RcppExports.cpp:15:40: error: expected primary-expression before ‘int’
RcppExports.cpp:15:40: error: expected ‘;’ before ‘int’
RcppExports.cpp:16:9: error: ‘input_parameter’ no es un miembro de ‘Rcpp::traits’
RcppExports.cpp:16:49: error: expected primary-expression before ‘>’ token
RcppExports.cpp:16:50: error: ‘::type’ no se ha declarado
RcppExports.cpp:16:57: error: expected ‘;’ before ‘f’
RcppExports.cpp:17:36: error: ‘n’ no se declaró en este ámbito
RcppExports.cpp:17:39: error: ‘f’ no se declaró en este ámbito
RcppExports.cpp: En la función ‘SEXPREC* plyr_split_indices(SEXP, SEXP)’:
RcppExports.cpp:31:9: error: ‘input_parameter’ no es un miembro de ‘Rcpp::traits’
RcppExports.cpp:31:54: error: expected primary-expression before ‘>’ token
RcppExports.cpp:31:55: error: ‘::type’ no se ha declarado
RcppExports.cpp:31:62: error: expected ‘;’ before ‘group’
RcppExports.cpp:32:9: error: ‘input_parameter’ no es un miembro de ‘Rcpp::traits’
RcppExports.cpp:32:40: error: expected primary-expression before ‘int’
RcppExports.cpp:32:40: error: expected ‘;’ before ‘int’
RcppExports.cpp:33:65: error: ‘group’ no se declaró en este ámbito
RcppExports.cpp:33:72: error: ‘n’ no se declaró en este ámbito
make: *** [RcppExports.o] Error 1
ERROR: compilation failed for package ‘plyr’
* removing ‘/home/rgalhama/R/x86_64-pc-linux-gnu-library/2.15/plyr’
Warning in install.packages :
  installation of package ‘plyr’ had non-zero exit status

看起来包裹无法编译,但我无法弄清楚原因。 在安装开始之前,我收到此警告消息:

  

install.packages中的警告:依赖项“Rcpp”不可用

我已经从系统安装了rcpp(如sudo apt-get install r-cran-rcpp),因为我找不到从R安装它的方法:

  

install.packages(" Rcpp",repos =' http://cran.us.r-project.org')将软件包安装到   '/home/rgalhama/R/x86_64-pc-linux-gnu-library/2.15'(因为'lib'是   未指定)install.packages中的警告:包'Rcpp'不是   可用(对于R版本2.15.2)

但我仍然不知道这些错误是否相关。

有什么想法吗?

谢谢!

4 个答案:

答案 0 :(得分:4)

知道了!

我的案例中的解决方案是:

首先,更新R:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
sudo sh -c "echo 'deb http://streaming.stat.iastate.edu/CRAN/bin/linux/ubuntu quantal/' >>  /etc/apt/sources.list" 
sudo apt-get update 
sudo apt-get install r-base r-base-dev

然后从R:

安装codetools包
install.packages("codetools")

此后,plyr的安装进展顺利。

答案 1 :(得分:2)

看起来你有一个旧版本:

  

R版本2.15.2

您始终可以尝试将R更新为最新版本。

答案 2 :(得分:2)

我有一个非常类似的问题。安装Debian / Ubuntu build-essential包解决了我的问题:

sudo apt-get install build-essential

事实证明,如果没有安装编译器,R很难编译。

答案 3 :(得分:2)

在尝试在Ubuntu上的RStudio中安装plyr时遇到类似的问题后,我找到了以下解决方案:

sudo apt-get install r-cran-plyr

在找到合适的解决方案之前,把它放在这里是为了防止人们像我一样在一个兔子洞里走下去。