2026年4月21日 研究日志¶
今日主题:完成项目相关申请表。怎么会有这么多流程要走啊……总之今天也来分享一些可能没有啥用的小技巧:今天来看看如何在R中调用Python(不用我说你也应该知道你需要有Python和R)
首先下载reticulate包并记得调用¶
In [1]:
install.packages("reticulate")
library(reticulate)
Installing package into 'C:/Users/Admin/AppData/Local/R/win-library/4.5' (as 'lib' is unspecified)
package 'reticulate' successfully unpacked and MD5 sums checked The downloaded binary packages are in C:\Users\Admin\AppData\Local\Temp\RtmpUBV9TL\downloaded_packages
Warning message: "package 'reticulate' was built under R version 4.5.3"
如果你和我一样用conda,那么用下面的代码就可以导入你的Python环境了(做生物信息学分析,我推荐用conda)¶
In [2]:
use_condaenv("base", required = TRUE)
然后你就可以用py_run_string包裹你想要运行的python代码咯¶
In [3]:
py_run_string("x = [1, 2, 3, 4]")
py$x
- 1
- 2
- 3
- 4
当然 我猜你想要在R中用到Python可能是为了Python中丰富的库 想要调库就这么做¶
In [4]:
np <- import("numpy")
np$mean(c(1,2,3,4))
2.5
最后 一套把数值导入Python再将结果导出到R的示例是这样的:¶
In [5]:
# 把 R 的变量传给 Python
a <- c(10, 20, 30)
py$a <- a
# 在 Python 中处理
py_run_string("b = [i * 2 for i in a]")
# 回到 R
py$b
- 20
- 40
- 60
好了,今天就到这里了。说实话今天也是没咋实际推进,却累到神志不清的一天。真是的,明天姑且还有一天可以读读论文,后天又有一天的会嘞,今天先这样,各位明天见咯。