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. 1
  2. 2
  3. 3
  4. 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
  1. 20
  2. 40
  3. 60

好了,今天就到这里了。说实话今天也是没咋实际推进,却累到神志不清的一天。真是的,明天姑且还有一天可以读读论文,后天又有一天的会嘞,今天先这样,各位明天见咯。