【问题标题】:How can I import a character vector from R saved as RData to a python list?如何将保存为 RData 的 R 中的字符向量导入 python 列表?
【发布时间】:2017-07-29 19:20:02
【问题描述】:

如何将保存为 RData 的 R 中的字符向量导入 python 列表?

例如,如果我在 R 中保存了这个字符向量:

x <- c("Hello", "world!")
save (x, file = 'x.RData')

然后用rpy2在python中加载如下:

from __future__ import print_function
from rpy2.robjects import pandas2ri,r
import rpy2.robjects as robjects

def main():
    r['load']('x.RData')
    variables = tuple(robjects.globalenv.keys())
    print('variables: {0}'.format(variables))
    x = robjects.globalenv['x']
    print('x: {0}'.format(x))
    print('type(x): {0}'.format(type(x)))


if __name__ == "__main__":
    main()

哪个打印:

variables: ('x',)
x: [1] "Hello"  "world!"
type(x): <class 'rpy2.robjects.vectors.StrVector'>

如何将其导入 python 列表?

【问题讨论】:

    标签: python r rpy2


    【解决方案1】:

    你可以简单地使用list():

    from __future__ import print_function
    from rpy2.robjects import pandas2ri,r
    import rpy2.robjects as robjects
    
    def main():
        r['load']('x.RData')
        variables = tuple(robjects.globalenv.keys())
        print('variables: {0}'.format(variables))
        x = robjects.globalenv['x']
        print('x: {0}'.format(x))
        print('type(x): {0}'.format(type(x)))
        print('list(x): {0}'.format(list(x)))
    
    if __name__ == "__main__":
        main()
    

    【讨论】:

      猜你喜欢
      • 2017-12-26
      • 2022-01-19
      • 1970-01-01
      • 2020-08-07
      • 2019-04-10
      • 2015-08-30
      • 2022-11-18
      • 2020-04-21
      • 1970-01-01
      相关资源
      最近更新 更多