我用rpy2在python中成功地调用了R包。但是,我今天刚在R中安装了elasticnet,我检查了我可以在R中加载库,而且包名文件夹elasticnet也在我的目录中。在
我想使用importr
与其他包执行相同的调用,但它总是给我错误消息:
Error in loadNamepace(name): there is no package called 'elasticnet'.
但是我去了那个地址,看到了这个包,在R里我可以看到这个包已经安装好了。有人知道怎么解决这个问题吗?在
这是我在python中调用其他包的方式,例如pls
包:
import rpy2
import rpy2.robjects as ro
from rpy2.robjects.packages import importr
utils = importr("utils")
d = {'print.me': 'print_dot_me', 'print_me': 'print_uscore_me'}
pls = importr('pls', robject_translations = d, lib_loc = "/Users/Viii/Anaconda3/envs/rstudio/lib/R/library")
但是当我用elasticnet
替换它时,它就不起作用了。在
它给我的错误信息是
"RRuntimeWarning: 'package 'lars' was installed by an R version with different internals; it needs to be reinstalled for use with this R version'.
我也尝试安装glmnet
,它也会给出错误消息
Traceback (most recent call last):
File , line 1, in en = importr('glmnet', robject_translations = d, lib_loc = "/Users/Viii/Anaconda3/envs/rstudio/lib/R/library")
File "C:\Users\Viii\Anaconda3\lib\site-packages\rpy2-2.9.4-py3.6-win-amd64.egg\rpy2\robjects\packages.py", line 453, in importr env = _get_namespace(rname)
RRuntimeError: Error in loadNamespace(name) : there is no package called 'glmnet'
R中的sessioninfo:
R version 3.5.0 (2018-04-23)
Platform: x86_64-conda_cos6-linux-gnu (64-bit)
Running under: Ubuntu 16.04.5 LTS
Matrix products: default
BLAS/LAPACK: /home/viii/anaconda3/envs/rstudio/lib/R lib/libRblas.so
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods [7] base
other attached packages:
[1] elasticnet_1.1.1 lars_1.2
loaded via a namespace (and not attached):
[1] compiler_3.5.0 tools_3.5.0 yaml_2.1.18
目前没有回答
相关问题 更多 >
编程相关推荐