Mac端Jupyter Notebook安装rpy2运行R代码报错问题咨询
解决方案
报错原因
%%R属于单元格级魔术命令,必须放在所在单元格的第一行。你将安装命令、扩展加载命令和R代码放在同一个单元格中执行时,Jupyter会将%%R之后的R语法识别为Python代码运行,Python不识别<-这类R语法,因此触发SyntaxError。
分步操作
- 第一步:新建一个单元格,运行安装和加载扩展的代码,等待执行完成:
!pip install rpy2 %load_ext rpy2.ipython
- 第二步:再新建一个空白单元格,第一行直接写
%%R(如果你确实需要从Python环境传入提前定义好的data变量到R,再加上-i data参数,否则不需要加,避免因Python环境无data变量报错),后续跟上所有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)
额外优化建议
你原代码末尾的shapiro.test属于冗余代码,只会输出函数本身的定义信息,没有实际作用,可以直接删除。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

