You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python内核的Jupyter Notebook中运行现有R代码

解决方法

你遇到的报错是因为Python内核无法识别R的赋值语法<-,属于语言不兼容问题,有两种可行实现方案:

方案1:直接用Python实现同等功能(推荐,无需额外配置R环境)

夏皮罗-威尔克正态性检验可以直接通过Python的scipy库实现,和R的shapiro.test输出结果完全一致,代码如下:

from scipy import stats
import numpy as np

# 构造和原R代码一致的数据集
data = ['0.47', '-0.36', '-0.5', '0.2', '0.35', '1.82', 
        '-0.78', '-0.91', '0.36', '-1.74', '0.24', '0.76', 
        '0.57', '2.32', '1.55', '-1.31', '-0.09', '-0.02', 
        '-0.07', '-0.19', '-0.25', 
        '-1.09', '0.64', '1.22', '-0.56', '1.76', '0.13', 
        '1.33', '-0.74', '-1.15', '1.63', '1.04', '-0.26', 
        '0.02', '-1.2', '0.37', '0.43', '0.04', '1.34', 
        '0.57', '0.76', '-1.25', '-0.05', '0.12', '0.8', 
        '-0.99', '-0.11', '-0.54', '-0.08', '-0.04', '-0.76', 
        '-0.8', '0.35', '1.54', '-0.99', '-0.35', '-0.28', '0.45', 
        '-0.04', '-0.06', '0.02', '0.58', '-0.32', '-0.1', '0.28', 
        '0.3', '-0.36', '0.81', '0.79', '0.21', '1.81', '0.19', '0.84', 
        '0.2', '-0.06', '-0.11', '-1.4', '-2.08', '0.88', '-0.14',
        '-0.96', '1.3', '0.06', '-0.37', '1.49', '-0.91', 
        '1.14', '-1.05', '1.49', '-0.79', '2.02', '0.38', '2.4', '1.25', 
        '0.5', '1.11', '-0.54', '-0.1', '0.63', '1.01']
# 转换为数值数组,对应R的as.numeric(unlist(data))
num = np.array(data, dtype=np.float64)
# 执行夏皮罗-威尔克检验
statistic, p_value = stats.shapiro(num)
print(f"Shapiro-Wilk检验统计量:{statistic:.6f},p值:{p_value:.6f}")

方案2:在Python内核Jupyter中直接运行R代码

如果需要保留原有R代码不变,可通过rpy2库的魔法命令实现R代码调用,前提是本地已经安装好R环境,操作步骤如下:

  • 先安装rpy2依赖:pip install rpy2
  • 在需要运行R代码的单元格开头加%%R魔法命令,完整单元格内容如下:
%%R
data <- list('0.47', '-0.36', '-0.5', '0.2', '0.35', '1.82', 
             '-0.78', '-0.91', '0.36', '-1.74', '0.24', '0.76', 
             '0.57', '2.32', '1.55', '-1.31', '-0.09', '-0.02', 
             '-0.07', '-0.19', '-0.25', 
             '-1.09', '0.64', '1.22', '-0.56', '1.76', '0.13', 
             '1.33', '-0.74', '-1.15', '1.63', '1.04', '-0.26', 
             '0.02', '-1.2', '0.37', '0.43', '0.04', '1.34', 
             '0.57', '0.76', '-1.25', '-0.05', '0.12', '0.8', 
             '-0.99', '-0.11', '-0.54', '-0.08', '-0.04', '-0.76', 
             '-0.8', '0.35', '1.54', '-0.99', '-0.35', '-0.28', '0.45', 
             '-0.04', '-0.06', '0.02', '0.58', '-0.32', '-0.1', '0.28', 
             '0.3', '-0.36', '0.81', '0.79', '0.21', '1.81', '0.19', '0.84', 
             '0.2', '-0.06', '-0.11', '-1.4', '-2.08', '0.88', '-0.14',
             '-0.96', '1.3', '0.06', '-0.37', '1.49', '-0.91', 
             '1.14', '-1.05', '1.49', '-0.79', '2.02', '0.38', '2.4', '1.25', 
             '0.5', '1.11', '-0.54', '-0.1', '0.63', '1.01')
num <- as.numeric(unlist(data))
shapiro.test(num)

运行后会直接输出R环境下的检验结果。

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 01:54:02