如何在Google Colaboratory中使用R?


77

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内核没有麻烦吗?

Answers:


96

是。

对于新的R笔记本,请使用此链接。(简写为colab.to/r

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

将副本保存在您的Google云端硬盘中,然后进行所需的任何更改。

另外2个演示:

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


2
因此,每当要在Google Colab上运行R时,都应该使用此功能吗?运行它会返回一些警告(关于未经Google授权的警告)。安全吗?
NelsonGon

以及如何安装R库?
xxxvincxxx

1
install.packages("wordcloud")例如,只需调用以安装wordcloud库。
korakot19年

每次加载笔记本电脑时都需要重新安装软件包吗?
Jas

1
@Nathan确实如此。😁–
korakot

34

如果要同时使用Python和R,则可以对某些单元格使用R magic。

# activate R magic
%load_ext rpy2.ipython

然后,每当您要使用R时,都以 %%R

%%R
x <- 42
print(x)

rpy2文档中的更多详细信息


4
您不需要import rpy2运行load_ext魔术就足够了
Buthetleon '19

2
好,那我就把它拿出来
korakot

我完全理解使用magic命令总比没有选择要好,但是您必须承认,如果您想在整个笔记本中使用R,那有点儿麻烦,我们必须在每个单独的顶部添加%% R代码单元一一对应。
Btibert3

1
仅当您要将R混合到Python笔记本中时,此答案才是好的。如果您主要写R,请使用上面的第一个答案。
korakot19年

另外,在Colab中使用此方法安装软件包时也遇到麻烦。我想安装一个软件包,从该软件包中调用一个函数,然后在Python中处理结果。对于某些软件包,它起作用,而对于某些软件包,则不起作用。我在依赖项方面遇到错误,例如installation of package ‘Rmpfr’ had non-zero exit status
Paloha


3

为了扩展先前的答案,下面介绍了如何在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

3

更新:这不再起作用(2020年7月)

上面答案的上面的链接直接带到R笔记本,您可以在R或python之间进行选择更改。奇怪的是,谷歌正像这样改变服务。因此,stackoverflow并不是推广由利润分享/数据销售公司创建的工具的好平台。

旧答案:

在此处输入图片说明

到目前为止,如果单击Runtime菜单栏上的,然后选择Change Runtime Type,则可以在R或Python之间进行选择。 在Colab中更改运行时


1
当我们单击新笔记本中的更改运行时类型时,我们只需更改“硬件加速器”选项即可。有什么建议?
路易斯

1
看来Google删除了更改内核的选项。让我继续挖掘并回到它。
x85ms16

非常感谢。看来Google强迫我们在google colab中使用python。
路易斯

2

*****截至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)

我只是试过了,它有效。但是,我仍然无法安装驱动器。实施代码后,“装载驱动器”驱动器图标会显示在左侧面板上,但单击它会在左下角显示一条通知,“挂载google驱动器仅在托管的python运行时上可用”。我不知道是否有解决方法,这将非常有帮助
M Terry

0

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.