Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.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
R、 Python:在rpy2上安装软件包_Python_R_Import_Package - Fatal编程技术网

R、 Python:在rpy2上安装软件包

R、 Python:在rpy2上安装软件包,python,r,import,package,Python,R,Import,Package,我正在通过rpy2库在Python脚本中使用R,我需要一个默认安装的R中没有的。如何安装它 install.packages("DirichletReg", repos="http://r-forge.r-project.org") 不行 关于Python: >>> install.packages("DirichletReg", repos="http://r-forge.r-project.org") Traceback (most recent call last):

我正在通过
rpy2
库在Python脚本中使用
R
,我需要一个默认安装的R中没有的。如何安装它

install.packages("DirichletReg", repos="http://r-forge.r-project.org")
不行

关于Python:

>>> install.packages("DirichletReg", repos="http://r-forge.r-project.org") 
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'install' is not defined
这个怎么样

>>> import rpy2.interactive as r
>>> r.importr("utils")
>>> package_name = "DirichletReg"
>>> r.packages.utils.install_packages(package_name)

里卡多的答案不再有效

要从Python安装,请执行以下操作:

from rpy2.robjects.packages import importr
utils = importr('utils')
utils.install_packages('DirichletReg')
utils
包是
R.utils
包,其文档可在此处找到:


在我上一次编辑时,仍然说要这样做。

在运行
pytest
时,Aaron的回答使我的Python挂起,R不断给出错误消息,可能是因为:

调用
install\u packages()
而不首先选择镜像,将需要用户以交互方式选择镜像

据我所知,我使用了这个有效的方法:

从rpy2导入对象
将rpy2.robjects.packages作为rppackages导入
utils=rpackages.importr('utils'))
utils.chooseCRANmirror(ind=1)
utils.install_包(“DirichletReg”)
DirichletReg=rpackages.importr(“DirichletReg”)

不再工作了。请参阅Aaron的答案,该答案目前有效。请将已接受的答案更改为“我更愿意给出“repos”参数,因为在jupyter笔记本中,我上次尝试使用弹出菜单选择镜像时没有效果:
utils.install_packages('gutenbergr',repos='1〕https://cloud.r-project.org)
from rpy2.robjects.packages import importr
utils = importr('utils')
utils.install_packages('DirichletReg')