【问题标题】:convert numpy array to Matrix rpy2, Kmeans将numpy数组转换为Matrix rpy2,Kmeans
【发布时间】:2011-06-03 08:04:14
【问题描述】:

我有一个 numpy 二维数组 self.sub 我想在 rpy2 kmeans 中使用它。 k = robjects.r.kmeans(self.sub,2,20) 我总是收到以下错误: valueError: 目前该类型无能为力! 我该怎么办?

【问题讨论】:

    标签: rpy2


    【解决方案1】:

    从 rpy2 docs 开始,R 矩阵只是带有 dim 属性集的向量。所以对于一个 numpy 二维数组 x

    import rpy2.robjects as robj
    
    nr, nc = x.shape
    xvec = robj.FloatVector(x.transpose().reshape((x.size))
    xr = robj.r.matrix(xvec, nrow=nr, ncol=nc)
    

    您必须转置 numpy 数组,因为 R 按列填充矩阵。

    编辑:实际上,您可以在 R 矩阵函数中设置 byrow=True,然后就不需要转置了。

    【讨论】:

      猜你喜欢
      • 2011-02-09
      • 2012-07-30
      • 2018-01-03
      • 2013-01-05
      • 2015-09-25
      • 1970-01-01
      • 2021-12-29
      • 2017-03-08
      • 2022-12-03
      相关资源
      最近更新 更多