如何将 R 与 Google Colaboratory 一起使用?

How to use R with Google Colaboratory?

Google Colaboratory 支持 Python 版本 2.7 和 3.6

我刚才在 Colab 中看到了一个如何使用 Swift 的例子。

今天正好运行

!jupyter-kernelspec list

并找到了一个新内核:IRkernel

Available kernels:
  ir         /usr/local/share/jupyter/kernels/ir
  python2    /usr/local/share/jupyter/kernels/python2
  python3    /usr/local/share/jupyter/kernels/python3
  swift      /usr/local/share/jupyter/kernels/swift

现在也可以在 Colab 中使用 R 了吗?安装 R 内核没有麻烦?

是的。

对于新的 R-notebook,使用 this link. (shorthand is colab.to/r )

您可以从 IRkernel 演示中学习,例如demo.ipynb

在您的 Google 驱动器中保存一个副本,并根据需要进行任何更改。

另外 2 个演示:

IRkernel Github 中查看更多详细信息。

如果您想同时使用 Python 和 R,可以对某些单元格使用 R 魔法。

# activate R magic
%load_ext rpy2.ipython

然后,无论何时你想使用 R,你都可以在单元格的开头加上 %%R

%%R
x <- 42
print(x)

rpy2 documentation

中有更多详细信息

在浏览器中打开此 link 以使用 R 内核创建一个新笔记本

https://colab.research.google.com/notebook#create=true&language=r

更新:这不再有效(2020 年 7 月)

以上 link 上面的答案直接带到 R 笔记本,在那里你可以在 R 或 python 之间切换。奇怪的是Google就这么改服务了。因此,Whosebug 不是推广由利润 mongering/data-selling 公司创建的工具的好平台。

旧答案:

目前,如果您点击菜单栏上的 Runtime,然后选择 Change Runtime Type,您可以在 R 或 Python 之间进行选择。

为了扩展之前的答案,这里介绍了如何在 R 和 Python 内核之间移动数据帧,这样您就可以在同一个笔记本中同时使用这两者(例如,如果您想将数据加载到Pandas,用R包处理,然后用Bokeh绘制。

# Pandas dataframe to R data frame
!pip3 install rpy2
%load_ext rpy2.ipython
%R -i df
# R data frame to Pandas dataframe
%R seq.data <- read.delim('sequence.index', header=TRUE, stringsAsFactors=FALSE)
seq_data = %R seq.data

*****从 2020 年 11 月 13 日星期五开始工作

在登录 colab 的同时执行此 URL https://colab.to/r 应该就可以了。

您可以在运行时检查 R -> 更改运行时类型,但它应该已经设置好了。

要装载 google 驱动器:

install.packages("googledrive")
library("googledrive")

if (file.exists("/usr/local/lib/python3.6/dist-packages/google/colab/_ipython.py")){ 
  install.packages("R.utils")
  library("R.utils")
  library("httr")
  my_check <- function() {return(TRUE)}
  reassignInPackage("is_interactive", pkgName = "httr", my_check)
  options(rlang_interactive=TRUE)
}                                                                                    

并验证 google 驱动器

drive_auth(use_oob = TRUE, cache = TRUE)

另一种快速方法是将 colab 标题中的 postix、.ipynb 替换为 .r
示例:将 Untitled.ipynb 的名称更改为 Untitled.r,一切正常!