【问题标题】:How to convert numpy array to R matrix? [duplicate]如何将numpy数组转换为R矩阵? [复制]
【发布时间】:2015-02-01 16:54:11
【问题描述】:

如何使用 rpy2 将 numpy 数组转换为 R 矩阵?这可能是微不足道的,但我无法在文档中找到一个好的答案。作为一个额外的步骤,我可以通过首先转换为 pandas 数据框来完成这项工作,但这似乎是多余的。

工作示例:

import numpy as np
from pandas import *
import pandas.rpy.common as com
import rpy2.robjects as ro

B=np.array([[1,2,3],[4,5,6],[7,8,9]])

Rmatrix = com.convert_to_r_matrix(B)  # Does not work

#Extra conversion via pandas dataframe
PandasDF = DataFrame(B)
Rmatrix = com.convert_to_r_matrix(PandasDF)
ro.r.assign("Bmatrix", Rmatrix)
print(ro.r["Bmatrix"])

【问题讨论】:

  • this post 有帮助吗?
  • 是的,这行得通,但我也发现这一点更重要:converting python objects for rpy2@jbaums
  • 对于这种情况,我应该删除还是标记为重复?
  • @fileunderwater 只是标记为重复。

标签: python r rpy2


【解决方案1】:

这是有效的,基于Converting python objects for rpy2 的帖子和numpy to rpy2 conversion 上的 rpy2 文档:

import rpy2.robjects as ro
import rpy2.robjects.numpy2ri
rpy2.robjects.numpy2ri.activate()

nr,nc = B.shape
Br = ro.r.matrix(B, nrow=nr, ncol=nc)

ro.r.assign("B", Br)

【讨论】:

    猜你喜欢
    • 2015-09-25
    • 1970-01-01
    • 2018-07-29
    • 1970-01-01
    • 1970-01-01
    • 2013-06-30
    • 1970-01-01
    • 2016-11-19
    相关资源
    最近更新 更多