我已经使用rpy2在python中成功调用了R包。但是,我今天才在R中安装了Elasticnet,并检查了是否可以在R中加载该库而没有问题,而且包名文件夹 elasticnet 也位于我的目录中。
我想使用importr
与其他软件包进行相同的调用,但是它始终显示错误消息:
loadNamepace(name)中的错误:没有名为“ 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'由具有以下版本的R版本安装 内部结构不同;它需要重新安装才能与此R一起使用 版本”。
我也尝试安装glmnet
,它还会给我错误消息
en = importr('glmnet', robject_translations = d, lib_loc = "/Users/Viii/Anaconda3/envs/rstudio/lib/R/library")
回溯(最近通话最近一次):
文件,第1行,位于en = importr('glmnet',robject_translations = d,lib_loc = “ / Users / Viii / Anaconda3 / envs / rstudio / lib / R / library”)
文件 “ C:\ Users \ Viii \ Anaconda3 \ lib \ site-packages \ rpy2-2.9.4-py3.6-win-amd64.egg \ rpy2 \ robjects \ packages.py”, 导入程序中的第453行env = _get_namespace(rname)
RRuntimeError:loadNamespace(name)中的错误:没有包 叫做“ 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