哈佛R语言课程--1.R语言简介

作者: 小洁忘了怎么分身 | 来源:发表于2019-04-02 22:24 被阅读160次

    原课程链接:
    https://hbctraining.github.io/Intro-to-R/lessons/01_introR-R-and-RStudio.html
    https://github.com/hbctraining/Intro-to-R

    第一课:https://www.jianshu.com/p/5d9033292101

    学习目标

    • 描述R和RStudio是什么。
    • 使用RStudio与R交互。
    • 使用RStudio的各种组件。

    1.什么是R?

    有人认为R是一种编程语言,这是一种常见的错误理解,因为R远不止于此。将R视为统计计算和绘图的环境,它汇集了许多函数,能够提供强大的功能。

    R环境结合了:

    • 有效处理大数据
    • 集成工具的集合
    • 绘图工具
    • 简单有效的编程语言

    2.为什么用R?

    开源、可视化、数据科学、统计计算、平台无关(platform agnostic)

    R是一个功能强大,可扩展的环境。它具备各种数据统计、通用数据分析和可视化功能。

    • 数据处理,清理和存储
    • 提供各种统计方法和绘图技术
    • 易在多平台上安装和使用(而且免费!)
    • 开源,拥有庞大且不断增长的同行社区

    3.什么是RStudio?

    RStudio是免费提供的开源集成开发环境(IDE)。RStudio提供了一个具有很多功能的环境,使R更容易使用,是在终端中使用R的绝佳选择。

    image
    • 图形用户界面,而非只有命令行
    • 优秀的学习工具
    • 科研用途免费
    • 开源

    4.在RStudio中创建一个新的project目录

    让我们为今天的“R简介”课程创建一个新的项目目录。

    1. 打开RStudio
    2. 打开File菜单选择New Project
    3. New Project窗口中,选择New Directory。然后选择Empty Project,为新目录命名Intro-to-R,然后选择路径,例如桌面(或自定义位置)。
    4. 点击Create Project
    5. 项目完成后,如果项目未在RStudio中自动打开,则转到File菜单,选择Open Project,然后选择Intro-to-R.Rproj
    6. 打开RStudio,窗口中显示三个面板。
    7. 打开File菜单并选择New File,然后选择R Script。现在,RStudio界面应该如下面的屏幕截图所示。
    RStudio界面

    5.RStudio界面

    RStudio界面有四个主要面板:

    1. 控制台:可以在这里键入命令并查看输出。如果你在命令行运行R,就只能看到控制台。
    2. 脚本编辑器:可以在这里键入命令并保存到文件。还可以直接提交要在控制台中运行的命令。
    3. enviroment/history:enviroment显示所有活动对象,history记录在控制台中运行的所有命令
    4. 文件/图片/包/帮助

    6.组织你的工作目录和设置

    6.1查看你的工作目录

    在组织工作目录之前,先检查当前工作目录的位置,在控制台中输入命令:

    getwd()
    
    

    你的工作目录应该是Intro-to-R,是你在创建project时一起新建的文件夹。工作目录是RStudio读取和保存文件的默认位置,除非另行指定。

    可以通过Files从右下角窗口中选择选项卡查看工作目录种的文件。

    查看工作目录

    如果要选择其他文件夹作为工作目录,可以在右下角Files选项卡中定位其他文件夹,单击More下拉菜单并选择Set As Working Directory

    重设工作目录

    6.2 构建工作目录

    要组织某个项目的工作目录,应将原始数据(原始数据)与中间数据集分开。例如,可能希望在工作目录中创建一个存储原始数据的data/目录,并具有中间数据集的results/目录和要生成的图的目录figures/

    可以通过New FolderFiles选项卡中单击来在工作目录中创建这三个目录。

    构建工作目录

    完成后,工作目录应如下所示:

    组织的工作目录

    6.3 将文件添加到工作目录

    我们将在接下来的几节课中介绍几个文件,点击以下链接访问。如果右键单击该链接,并将“链接另存为...”,定位到工作目录。即可看到该文件出现在工作目录中。我们将在本课后稍后讨论这些文件。

    注意:如果文件自动下载到笔记本电脑上的其他位置,则使用文件浏览器或查找程序(在RStudio外部)将它们移动到工作目录,或在RStudio右下方面板Files中跳转目录、浏览查找

    6.4 配置

    设置长代码自动换行,不用左右滚动查看长代码。

    单击RStudio屏幕顶部的“Tools”,然后单击下拉菜单中的“Global Options”。

    选项

    在左侧,选择“代码”并检查“软包装R源文件”。确保单击窗口底部的“应用”按钮,然后单击“确定”。

    设置自动换行

    7.与R交互

    现在我们已经设置好了界面和目录结构,开始玩转R语言!在RStudio中与R交互有两种主要方式:使用控制台或使用脚本编辑器(脚本是包含代码的纯文本文件)。

    7.1 控制台窗口

    控制台窗口(在RStudio,左下面板)是其中R是等着你来告诉它做什么的地方,在那里它会显示每个命令的结果。可以直接在控制台中键入命令,但session关闭时会清空。

    我们来测试一下:

    3 + 5
    
    
    在控制台中运行

    7.2 脚本编辑器

    最佳做法是在脚本编辑器中输入命令,然后保存脚本。我们鼓励使用#自由注释,以描述正在使用的命令。通过这种方式,可以完整记录自己的操作,也可以可以轻松地向其他人展示你是如何做到的,如果需要,也可以重复运行某一操作。

    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解释器不​​知道如何处理该命令。*

    7.4 控制台命令提示符

    解释命令提示符有助于了解R何时准备好接受命令。下面列出了命令提示符的不同状态以及如何退出命令:

    (1)控制台已准备好接受命令>

    如果R准备好接受命令,则R控制台会显示>

    当控制台收到命令时(通过直接键入控制台或从脚本编辑器(Ctrl-Enter)运行,R将尝试执行它。

    运行后,控制台将显示结果并返回新>提示以等待新命令。

    (2)控制台正在等待输入更多数据+

    如果R仍在等待输入更多数据,因为它尚未完成,控制台将显示+提示。这意味着命令不完整。通常是因为括号或引号不成对。

    (3)转义命令并获得新提示esc

    如果无法弄清楚为什么命令没有运行,可以在控制台窗口内单击并按下esc以退出命令并返回新提示>


    练习

    1. 尝试仅从脚本编辑器输入3 +,选中并运行它。找到一种方法>在控制台中恢复命令提示符。

    8.与R中的数据交互

    R通常用于处理大数据,因此只有在数据处理实战中理解R语言才有意义。我们之前已将两个文件下载到工作目录中。由于后期需要使用这些文件,因此我们需要花几分钟时间熟悉这些数据。

    数据集

    在这个示例数据集中,我们收集了来自12只小鼠的全脑样本,并且想要评估它们之间的表达差异。表达数据表示从12个脑样品的RNA测序获得的标准化计数数据。该数据作为二维矩阵存储在逗号分隔值(CSV)文件中,每行对应于基因,每列对应于样本

    image

    metadata

    我们有另一个文件,我们在其中识别相关数据metadata的信息。我们的元数据也存储在CSV文件中。在此文件中,每行对应一个样本,每列包含有关每个样本的一些信息。

    第一列包含行名称,请注意这些行名称与上面的表达数据文件中的列名称相同(尽管顺序不同)。接下来的几列包含有关我们样本的信息,这些信息允许我们对它们进行分类。例如,第二列包含每个样品的基因型信息。每个样品分为两类:Wt(野生型)或KO(淘汰)。在其余列中观察到哪些分类?

    R特别擅长处理这类分类数据。数据不是简单地将该信息存储为文本,而是以特定的数据结构表示,该结构允许用户以快速有效的方式对数据进行排序和操作。当我们学习R中的不同课程时,我们将更详细地讨论这个问题!

    9.最佳实践

    在我们开始研究更复杂的概念并熟悉语言之前,我们想要指出一些关于使用R时最佳实践的事情,这将有助于组织项目:

    • 如果我们可以记录我们所做的一切,代码和工作流程就更具有可再现性。我们的最终目标不仅仅是“做事”,而是任何人都能轻松准确地复制我们的工作流程和结果。所有代码都应该在脚本编辑器中编写并保存到文件中,而不是在控制台中工作。
    • [R控制台]应主要用于检查对象,测试函数或寻求帮助。
    • 使用#标志进行注释。在R脚本中自由注释。这将有助于你和其他协作者了解每行代码(或代码块)的用途。#R忽略了a右侧的任何内容。如果你想要注释整段文本,则可以使用快捷键Ctrl + Shift + C

    *本课程由Harvard Chan Bioinformatics Core (HBC)
    的教学团队成员开发,中文版由简书ID@小洁忘了怎么分身(公众号@生信星球)整理。

    微信公众号生信星球同步更新我的文章

    友情链接:
    生信技能树公益视频合辑:学习顺序是linux,r,软件安装,geo,小技巧,ngs组学!
    B站链接:https://m.bilibili.com/space/338686099
    YouTube链接:https://m.youtube.com/channel/UC67sImqK7V8tSWHMG8azIVA/playlists
    生信工程师入门最佳指南:https://mp.weixin.qq.com/s/vaX4ttaLIa19MefD86WfUA
    学徒培养:https://mp.weixin.qq.com/s/3jw3_PgZXYd7FomxEMxFmw
    资料大全:https://mp.weixin.qq.com/s/QcES9u1vYh-l6LMXPgJIlA

    相关文章

      网友评论

        本文标题:哈佛R语言课程--1.R语言简介

        本文链接:https://www.haomeiwen.com/subject/pisibqtx.html