1.什么是R?
有人认为R是一种编程语言,这是一种常见的错误理解,因为R远不止于此。将R视为统计计算和绘图的环境,它汇集了许多函数,能够提供强大的功能。
R环境结合了:
2.为什么用R?
开源、可视化、数据科学、统计计算、平台无关(platform agnostic)
R是一个功能强大,可扩展的环境。它具备各种数据统计、通用数据分析和可视化功能。
3.什么是RStudio?
RStudio是免费提供的开源集成开发环境(IDE)。RStudio提供了一个具有很多功能的环境,使R更容易使用,是在终端中使用R的绝佳选择。
4.在RStudio中创建一个新的project目录
让我们为今天的“R简介”课程创建一个新的项目目录。
5.RStudio界面
RStudio界面有四个主要面板:
6.组织你的工作目录和设置
在组织工作目录之前,先检查当前工作目录的位置,在控制台中输入命令:
getwd()
你的工作目录应该是Intro-to-R,是你在创建project时一起新建的文件夹。工作目录是RStudio读取和保存文件的默认位置,除非另行指定。
可以通过Files从右下角窗口中选择选项卡查看工作目录种的文件。
如果要选择其他文件夹作为工作目录,可以在右下角Files选项卡中定位其他文件夹,单击More下拉菜单并选择Set As Working Directory。
要组织某个项目的工作目录,应将原始数据(原始数据)与中间数据集分开。例如,可能希望在工作目录中创建一个存储原始数据的data/目录,并具有中间数据集的results/目录和要生成的图的目录figures/。
可以通过New Folder在Files选项卡中单击来在工作目录中创建这三个目录。
完成后,工作目录应如下所示:
我们将在接下来的几节课中介绍几个文件,点击以下链接访问。如果右键单击该链接,并将“链接另存为…”,定位到工作目录。即可看到该文件出现在工作目录中。我们将在本课后稍后讨论这些文件。
注意:如果文件自动下载到笔记本电脑上的其他位置,则使用文件浏览器或查找程序(在RStudio外部)将它们移动到工作目录,或在RStudio右下方面板Files中跳转目录、浏览查找
设置长代码自动换行,不用左右滚动查看长代码。
单击RStudio屏幕顶部的“Tools”,然后单击下拉菜单中的“Global Options”。
在左侧,选择“代码”并检查“软包装R源文件”。确保单击窗口底部的“应用”按钮,然后单击“确定”。
现在我们已经设置好了界面和目录结构,开始玩转R语言!在RStudio中与R交互有两种主要方式:使用控制台或使用脚本编辑器(脚本是包含代码的纯文本文件)。
该控制台窗口(在RStudio,左下面板)是其中R是等着你来告诉它做什么的地方,在那里它会显示每个命令的结果。可以直接在控制台中键入命令,但session关闭时会清空。
我们来测试一下:
3 + 5
最佳做法是在脚本编辑器中输入命令,然后保存脚本。我们鼓励使用#自由注释,以描述正在使用的命令。通过这种方式,可以完整记录自己的操作,也可以可以轻松地向其他人展示你是如何做到的,如果需要,也可以重复运行某一操作。
Rstudio脚本编辑器允许通过单击脚本编辑器右上角的Run按钮将当前行或当前选中的文本“发送”到R控制台。快捷键是Ctrl+Enter。
现在让我们尝试向脚本编辑器输入命令,并使用注释字符#添加描述并选中要运行的文本:
# Intro to R Lesson
# Feb 16th, 2016
# Interacting with R
## I am adding 3 and 5. R is fun!
3+5
选中要运行的命令,点击Run,可以看到命令在控制台中运行并输出结果。
如果不加注释符号#,运行同样的命令,会发生什么?删除前面的#符号后重新运行命令:
I am adding 3 and 5. R is fun!
3+5
现在R试图将该句子作为命令运行,但它不起作用。我们在控制台中出现错误“Error: unexpected symbol in “I am” ,意味着R解释器不知道如何处理该命令。*
解释命令提示符有助于了解R何时准备好接受命令。下面列出了命令提示符的不同状态以及如何退出命令:
(1)控制台已准备好接受命令:>。
如果R准备好接受命令,则R控制台会显示>。
当控制台收到命令时(通过直接键入控制台或从脚本编辑器(Ctrl-Enter)运行,R将尝试执行它。
运行后,控制台将显示结果并返回新>提示以等待新命令。
(2)控制台正在等待输入更多数据:+。
如果R仍在等待输入更多数据,因为它尚未完成,控制台将显示+提示。这意味着命令不完整。通常是因为括号或引号不成对。
(3)转义命令并获得新提示:esc键
如果无法弄清楚为什么命令没有运行,可以在控制台窗口内单击并按下esc以退出命令并返回新提示>。
练习
8.与R中的数据交互
R通常用于处理大数据,因此只有在数据处理实战中理解R语言才有意义。我们之前已将两个文件下载到工作目录中。由于后期需要使用这些文件,因此我们需要花几分钟时间熟悉这些数据。
在这个示例数据集中,我们收集了来自12只小鼠的全脑样本,并且想要评估它们之间的表达差异。表达数据表示从12个脑样品的RNA测序获得的标准化计数数据。该数据作为二维矩阵存储在逗号分隔值(CSV)文件中,每行对应于基因,每列对应于样本。
我们有另一个文件,我们在其中识别相关数据或metadata的信息。我们的元数据也存储在CSV文件中。在此文件中,每行对应一个样本,每列包含有关每个样本的一些信息。
第一列包含行名称,请注意这些行名称与上面的表达数据文件中的列名称相同(尽管顺序不同)。接下来的几列包含有关我们样本的信息,这些信息允许我们对它们进行分类。例如,第二列包含每个样品的基因型信息。每个样品分为两类:Wt(野生型)或KO(淘汰)。在其余列中观察到哪些分类?
R特别擅长处理这类分类数据。数据不是简单地将该信息存储为文本,而是以特定的数据结构表示,该结构允许用户以快速有效的方式对数据进行排序和操作。当我们学习R中的不同课程时,我们将更详细地讨论这个问题!
9.最佳实践
在我们开始研究更复杂的概念并熟悉语言之前,我们想要指出一些关于使用R时最佳实践的事情,这将有助于组织项目:
© 2024. All Rights Reserved. 沪ICP备2023009024号-1