前两篇文章我们介绍了 Jupyter Notebook 的一些基础用法,今天我们来介绍一下如何使用 conda 和 Jupyter 在 R 中开始一个数据科学项目。
在开始之前我们先要明确一个概念:Kernel,即内核。内核是以特定的编程语言运行交互式代码并将输出返回给用户的进程,基于 Kernel,Jupyter Notebook 可以支持包括 R、Python 在内的多种编程语言。由于 Jupyter Notebook 和 Kernel 是分开的,任何语言的代码都可以在它们之间发送。使用 R 内核,用 R 编写的代码将被发送到执行的 R 内核,与在 Python 内核上运行 Python 的代码道理是一样的。
创建 “R Essentials”
Anaconda 团队已经创建了一个 “R Essentials”把 IRKernel 和数据科学分析中最常用的超过 80 个 R 包捆绑在了一起,这些包包括:dplyr
, shiny
, ggplot2
, tidyr
, caret
和 nnet
。
“R Essentials” 的下载需要用到 conda。幸运的是,Miniconda 已经包含了 conda、Python 以及其他的一些必须包,而 Anaconda 则包含了 miniconda 的所有东西,以及用于科学,数学,工程和数据分析的 200多个最受欢迎的 Python 软件包。用户可以选择安装 Anaconda 一次安装所有的包;也可以先安装 Miniconda ,然后再使用 conda 命令安装他们需要的包(包括在 Anaconda 中的任何包)。
如果你已经拥有了 conda,你可以为当前环境安装 "R Essentials":
conda install -c r r-essentials
或者创建一个专门用于 “R essentials” 的新环境:
conda create -n my-r-env -c r r-essentials
Jupyter
Jupyter 提供了一个强大的笔记本交互界面来写你的分析,并与同行分享。打开一个 shell 并运行下面这个命令来启动浏览器中的 Jupyter 笔记本界面:
jupyter notebook
创建一个新的 R 笔记:
接下来,你就可以在 notebook cells 中编写和运行你的 R 代码了。
R 笔记示例
① 导入数据整理 R 包,dplyr:
In [1]: library(dplyr)
② 调用一个可用的数据集,如 iris:
In [2]: iris
Out[2]:
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3 1.4 0.2 setosa
...
③ 计算物种的平均萼片宽度
In [3]: iris %>%
group_by(Species) %>%
summarise(Sepal.Width.Avg = mean(Sepal.Width)) %>%
arrange(Sepal.Width.Avg)
Out [3]:
Species Sepal.Width.Avg
1 versicolor 2.77
2 virginica 2.974
3 setosa 3.428
④ 导入可视化 R 包 ggplot2:
In [4]: library(ggplot2)
⑤ 绘图 Sepal.Width vs. Sepal.Length:
In [5]: ggplot(data=iris, aes(x=Sepal.Length, y=Sepal.Width, color=Species)) + geom_point(size=3)
ok,今天就到这里。下一篇我们将会介绍如何使用 conda 创建我们的自定义的 R 集合包并上传与他人共享,以及介绍一下如何通过 Jupyter 把笔记转换为在线幻灯片,供讲座和教程使用。
本文分享自微信公众号 - 生信科技爱好者(bioitee)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。