2301_81671120 2024-04-15 19:15 采纳率: 0%
浏览 12

关于#r语言#的问题:python调用R语言时报错NotImplementedError: Conversion 'py2rpy' not defined for objects of type '

代码如下:

import numpy as np
import pandas as pd
from pandas import DataFrame,Series

from rpy2.robjects.packages import importr
import rpy2.robjects as ro
from rpy2.robjects import numpy2ri

……
x=df[v].values
x_r=numpy2ri.numpy2rpy(x) //执行到这一句时出现错误 
  • 写回答

5条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-15 19:15
    关注

    引自免费微信小程序:皆我百晓生

    看起来你在尝试将一个Python的numpy数组转换为R语言可以识别的对象类型,以便在R环境中使用。从错误信息来看,Conversion 'py2rpy' not defined for objects of type '<class 'numpy.ndarray'>' 表示你可能没有正确地安装了必要的转换器。

    首先,请确保你已经安装了 rpy2 的扩展包 numpy转化器numpy2ri),如果没有安装,可以通过pip进行安装:

    pip install rpy2 robjects rpy2-numpy
    

    如果你已经安装了这个扩展,那么可能是加载转换器的部分出了问题。确保你在导入时正确地载入了转换器:

    import numpy as np
    import pandas as pd
    from pandas import DataFrame, Series
    
    from rpy2.robjects.packages import importr
    import rpy2.robjects as ro
    from rpy2.robjects import numpy2ri
    
    # 加载numpy2ri并初始化转换器
    numpy2ri.activate()
    
    # 现在可以将numpy数组转换为R对象
    df = pd.DataFrame({'v': [1, 2, 3, 4, 5]})
    v = 'v'
    x = df[v].values
    x_r = numpy2ri.numpy2rpy(x)
    
    # 接下来,你可以将x_r用于R函数或操作
    r_stats = importr('stats')
    mean_in_r = r_stats.mean(x_r)
    print(mean_in_r)
    

    这段代码应该能解决你的问题,并允许你在Python中通过rpy2调用R的统计函数。如果还有其他问题,请随时告诉我。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月15日

悬赏问题

  • ¥15 sessionStorage在vue中的用法
  • ¥15 wordpress更换域名后用户图片头像不显示
  • ¥15 如何在ubunto上安装CEF (Chromium Embedded Framework),并且基于qt实现打开一个web
  • ¥30 AD9854 为什么输出波形幅度受限,AI机器人勿扰
  • ¥15 如何在ubunto上安装CEF (Chromium Embedded Framework
  • ¥15 数据库原理及应用上机练习题
  • ¥15 如何联系真正的开发者而非公司
  • ¥15 有偿求苍穹外卖环境配置
  • ¥15 代码在keil5里变成了这样怎么办啊,文件图像也变了,
  • ¥20 Ue4.26打包win64bit报错,如何解决?(语言-c++)