在 Python 中加载 RS4 对象

问题描述

我有一个包含 Seurat RS4 对象的 rds 文件。我试着跑

result = pyreadr.read_r('P1.seur.rds')

并得知该文件包含无法识别的对象。我意识到我不能像这样加载对象,并且知道还有其他关于使用 RS4 对象的教程,但是我不确定如何首先加载文件,所以我可以使用 rpy2 的函数来将其转换为 Python 数据框。如何加载对象以便我可以使用它?谢谢!

解决方法

用rpy2读取rds文件怎么样?与 pyreadr 不同,它将使用 R 自己的阅读器。

from rpy2.robjects.packages import importr
base = importr('base')

obj = base.readRDS('./foo.rds')