【问题标题】:Writing a RDS file outside R在 R 之外编写 RDS 文件
【发布时间】:2013-06-23 05:21:30
【问题描述】:

我需要使用来自外部源的向量来提供 R 代码并且速度要快,因此我想避免读取通用文件,例如 csv。 我认为在 R 之外编写 RDS 文件可能是个好主意。

是否有任何 C、C++、Python、Perl 中的库或包装器能够以 RDS 格式编写?

附:如果您知道除 RDS 之外的更好方法,欢迎提出建议。

【问题讨论】:

    标签: python r perl file-io cran


    【解决方案1】:

    你用过??

    ??rds  # brings up ...
    ?readRDS   # from the base package.
    

    (您可能想从.Internal(serialize, ...) 改编the code?)

    【讨论】:

    • 谢谢,您为我指明了正确的方向:实现序列化的 C 代码。一个小问题:如果我想在外部写一个向量,我应该使用你指出的源代码中定义的函数 OutRealVec 吗?
    • 我认为您对问题的定义不够明确,以至于任何人都可以开始编写代码。 Eddelbuettel 建议使用 ProtocolBuffers 实现跨平台容量:mail-archive.com/rcpp-devel@lists.r-forge.r-project.org/…
    【解决方案2】:

    您可以在 Python 中使用 rpy2。我在 python3 中使用以下内容:

    import pandas as pd
    import rpy2.robjects as robjects
    saveRDS = robjects.r['saveRDS']
    saveRDS(pd_dataframe, 'data.rds')
    

    【讨论】:

    • 产生错误:NotImplementedError: Conversion 'py2ri' not defined for objects of type '<class 'pandas.core.frame.DataFrame'>'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-04
    • 1970-01-01
    • 2013-03-20
    • 2011-09-22
    • 2018-11-05
    相关资源
    最近更新 更多