当前位置: 首页 > news >正文

服务器conda环境安装rpy2

参考博客

https://stackoverflow.com/questions/68936589/how-to-select-r-installation-when-using-rpy2-on-conda

现在我遇到这样一个问题,服务器系统环境没有R(没有权限安装),我只能在minconda的conda环境中使用R, 使用方法如下
在这里插入图片描述
我现在想在另一个conda环境(pyg)中使用rpy2, 其中rpy2中对应的R环境事r40seurat40,例如我要导入mclust package, 操作如下
首先在r40seurat40的环境中安装mclust包
install.packages("mclust")
安装成功后,测试如下
在这里插入图片描述

然后进入pyg环境

conda activate pyg

在这里插入图片描述

进入路径
/home/yxkang/miniconda3/envs/r40seurat40/lib/R/lib

然后安装rpy2, 使用以下命令

export LDFLAGS="-Wl,-rpath,/home/yxkang/miniconda3/envs/r40seurat40/lib/R/lib"pip install rpy2 --force-reinstall --compile --no-binary rpy2

结果如下
在这里插入图片描述
此时直接测试rpy2会出问题,如下

在这里插入图片描述

运行python -m rpy2.situation结果如下

在这里插入图片描述
因为需要设置R_HOME的系统变量

这里我使用的是

# the location of R (used for the mclust clustering)
import os
os.environ['R_HOME'] = "/home/yxkang/miniconda3/envs/r40seurat40/lib/R"
os.environ['R_USER'] = "/home/yxkang/miniconda3/envs/r40seurat40/lib/python3.8/site-packages/rpy2"

测试如下

# the location of R (used for the mclust clustering)
import os
os.environ['R_HOME'] = "/home/yxkang/miniconda3/envs/r40seurat40/lib/R"
os.environ['R_USER'] = "/home/yxkang/miniconda3/envs/r40seurat40/lib/python3.8/site-packages/rpy2"
import rpy2.robjects as robjects
import rpy2.robjects.numpy2riimport rpy2.robjects as ro# 调用 R 中的 sqrt 函数
r_sqrt = ro.r['sqrt']
print(r_sqrt(16))  # 输出 4

在这里插入图片描述

import rpy2.robjects as ro# 执行 R 代码
ro.r('x <- rnorm(10)')  # 在 R 中创建一个正态分布的随机数向量
x = ro.r('x')  # 获取 R 中的变量 x
print(x)

在这里插入图片描述

import pandas as pd
from rpy2.robjects import pandas2ri# 启动 pandas 和 R 之间的自动转换
pandas2ri.activate()# 创建 pandas DataFrame
df = pd.DataFrame({'A': [1, 2, 3],'B': [4, 5, 6]
})# 将 pandas DataFrame 转换为 R 的 data.frame
r_df = pandas2ri.py2rpy(df)
print(r_df)

在这里插入图片描述

from rpy2.robjects.packages import importr# 导入基础包 'base',这是 R 的核心包之一
base = importr('base')# 导入一个外部包,比如 'ggplot2'
ggplot2 = importr('ggplot2')mclust = importr('mclust')

在这里插入图片描述


http://www.mrgr.cn/news/43631.html

相关文章:

  • 【Codeforces】CF 2007 E
  • RTR_Chapter_6 下
  • C语言 | Leetcode C语言题解之第458题可怜的小猪
  • 【WPF开发】如何设置窗口背景颜色以及背景图片
  • 深入理解CSS弹性盒子模型(Flexbox)
  • 深度学习中的结构化概率模型 - 结构化概率模型的深度学习方法篇
  • 【WPF开发】样式表基础及入门
  • 如何写好计算机毕业设计论文?【大纲+技巧+示例】
  • Python | Leetcode Python题解之第458题可怜的小猪
  • Emissive CEO Fabien Barati谈《消失的法老》背后的故事:XR大空间体验的创新与未来
  • Android 14.0 Launcher3 app图标和hotseat 添加背景(焦点选中背景)
  • STM32入门-GPIO端口的八种工作模式
  • QGIS中怎么加载数据(如矢量shp与栅格数据)
  • OS_过程调用与系统调用
  • 报错 There is already ‘contestController‘ bean method
  • Rocky Linux 9搭建K8s-1.28.0+docker一主多从集群测试环境
  • 如何在Allegro中创建实现可以走线但不能铺铜的区域
  • 【rCore OS 开源操作系统】Rust 异常处理
  • 统一 SASE 架构中的网络和安全融合
  • 【WPF开发】控件介绍-Grid(网格布局)