零基础学习 R 语言?

R语言是最强大的编程语言,可实现出统计和数据可视化的功能。我们之前在这篇文章【收藏丨用两万字带你了解heat map绘制工具及操作流程(附赠软件大礼包)】专门介绍过几种热图绘制工具,发现在生信领域中多数热图可以直接用R语言绘制的。

R是一种区分大小写的解释型语言。我们可在命令提示符“>”后输入并执行一条命令,或者一次性执行写在脚本文件中的一组命令。R有多种数据类型,包括向量、矩阵、数据框和列表。R的多数功能是由程序内置函数和用户自编函数提供,一次交互式会话期间的所有数据对象被保存在内存中。一些基本函数是默认直接可用,其他高级函数则包含于按需加载的程序包中。

R语句由函数和赋值构成。R使用“

今天小编就从R语言基础讲起,即R的安装、R的载入和数据导入导出讲起,往后几期将陆续介绍R语言的进阶内容,敬请大家多加关注本公众号。

R的安装

R可在CRAN上免费下载。建议先安装R包,再安装RStudio。

零基础学习 R 语言?

R提供了很多种功能,而且这些功能通过可选模块的下载和安装来实现的。这些包提供了横跨各种领域的功能,包括分析地理数据、处理蛋白质质谱等。

那什么是包(package)呢?

包是R函数、数据、预编译代码以一种定义完善的格式组成的集合。库library中存储了很多包。函数.libPaths()可显示库所在位置,函数library()则可显示库中有哪些包。

R自带了一系列默认包(base、datasets、utils、grDevices、graphics、stats、methods),它们提供了很多种默认函数和数据集。安装好后,它们必须被载入到会话中才能用。命令search()可显示哪些包已加载并可使用。

R包是R函数、数据、预编译代码以一种定义完善的格式组成的集合。其实在安装R软件时,R会自动安装一些基础R包,基础R包提供了很多默认函数和数据集,其他大多数R包需要手动安装,例如ggplot2包等。第一次安装一个包,使用命令install.packages()即可。如果不加参数执行install.packages()将显示一个CRAN镜像站点的列表,选择其中一个镜像站点之后,将看到所有可用包的列表,选择其中的一个包即可进行下载和安装。

R包可从三种途径安装:

1. CRAN

安装R包可以从CRAN上安装,只需在命令行输入代码install. packages(“package_name”)即可。

例如,安装readr包时可以这样输入代码:

2. Bioconductor

在Bioconductor上也可以安装R包,Bioconductor数据库存储了专用于生信领域的R包。在Bioconductor上安装R包可参考其官网的安装方法,操作跟CRAN上面类似。

零基础学习 R 语言?

例如,从Bioconductor安装用于分析基因组数据的R/Bioconductor包limma,可以这样输入:

或者,也可使用这样形式:

3. Github

从Github上也可安装R包,github适用于所有软件开发和数据分析的资源库,以便共享你的包。

在github上安装一个程序包,应先在你电脑上安装devtools包。例如可输入下面代码安装最新版本的survminer的R包。

R包的载入

包的安装就是从某个CRAN镜像站点下载,并将包放入库中。要想在R会话中使用包,还需使用library()命令载入一个包。

例如,我们要用ggplot2包,输入这个命令即可:

零基础学习 R 语言?

R包的使用

载入一个包后,我们可以使用一系列新的函数和数据集了。包中都提供了演示性的小型数据集和示例代码。帮助系统包含了每个函数的一个描述,每个数据集的信息也被包括在内。

使用函数help()可查看其中任意函数或数据集的更多细节。这项信息可以从CRAN网站上浏览。

零基础学习 R 语言?

R与数据导入

当你获取到来自多种数据源和数据格式的数据时,R就提供了适用范围广泛的数据导入工具。R可从键盘、文本文件、Microsoft Excel和Access、统计软件、特殊格式文件,及多种关系型数据库中导入数据。

零基础学习 R 语言?

1. 使用键盘输入数据

R中的函数edit()自动调用一个允许手动输入数据的文本编辑器。具体步骤如下:

1)创建一个空的数据框,其中变量名和变量模式与理想中的最终数据集一致。

2)针对这个数据对象调用文本编辑器,输入你的数据,将结果保存回这个数据对象中。

例如,我们创建一个名为mydata的数据框,它有三个变量:age(数值型)、gender(字符型)、weight(数值型),我们再将调用文本编辑器,键入数据,最后保存结果。

类似于age=numeric(0)的赋值语句将创建一个指定模式但不含实际数据的变量。edit()函数其实是在对象的一个副本上进行操作。

2. 从带分隔符的文本文件导入数据

我们可用read.table()从带分隔符的文本文件中导入数据。此函数可读入一个表格格式的文件并将其保存为一个数据框。

其中,file是一个带分隔符的ASCII文本文件,header是一个表明首行是否包含了变量名的逻辑值(TRUE或FALSE),sep用来指定分隔数据的分隔符,row.names是一个可选参数,用以指定一个或多个表示行标识符的变量。

函数read.table()还拥有很多微调数据导入方式的追加选项,如quote参数用于控制导入的信息是否需要被双引号引用,dec参数控制导入数据的小数点后位数等,某些情况下导入被空格分离的字符串如“B cell resting”,会被自动转化为“B.cell.resting”形式,这种情况下可设置Check.names参数。一般而言,txt文件以制表符“t”作为分隔符,与excel的csv格式中的逗号分隔稍有不同。

3. 导入Excel数据

读取一个Excel文件夹的最好方式,就是在Excel中将其导出为一个逗号分隔文件(csv),然后再将其导入R中。在Windows系统里,可用RODBC包来方位Excel文件。

首先,下载并安装RODBC包。

可使用下面代码导入数据:

其中,myfile.xls是一个Excel文件,mysheet是要从这个工作簿中读取工作表的名称,channel是一个由odbcConnectExcel()返回的RODBC连接对象,mydataframe是返回的数据框。RODBC也可用于从Access中导入数据。

4. 导入SPSS数据

SPSS数据集可通过foreign包中的函数read.spss()导入到R中,也可用Hmisc包中的spss.get()函数。函数spss.get()是对read.spss()的一个封装,它可自动设置后者的很多参数。

首先,下载并安装Hmisc包。

然后使用以下代码导入数据:

5. 导入SAS数据

R中设计了若干用来导入SAS数据集的函数,包括foreign包中的read.ssd()和Hmisc包中的sas.get()。

我们可以在SAS中使用PROC EXPORT将SAS数据集保存为一个逗号分隔的文本文件,然后将导出的文件读取到R中。如下所示:

SAS程序中:

R程序:

6. 导入Stata数据

将Stata数据导入R的代码类似于:

R与数据导出

除了可以把数据导入R中,还可从R中把数据导出,以便保存数据或在外部程序中使用。那怎样从R中导出数据呢?

符号分隔文本文件

可用write.table()函数将R对象输出到符号分隔文件中。函数使用方法是:

其中x是输出对象,outfile是目标文件。例如,

将mydata数据集输出到当前目录下逗号分隔的mydata.txt文件。用路径将输出文件保存到任何地方。用sep=”t”替换sep=”,”,数据就会保存到制表符分隔的文件中。默认情况下,字符串是放在双引号中,缺失值用NA表示。

Excel电子表格

xlsx包中的write.xlsx()函数可将R数据框写入到Excel文件中。使用方法是

例如,

将mydata数据框保存到当前目录下的Excel文件mydata.xlsx的工作表中(默认为Sheet 1)。在这种情况下,数据集的变量名称被作为电子表格头部,行名称会放在电子表格的第一列。函数会覆盖已存在的mydata.xlsx文件。

统计学程序软件

foreign包中的write.foreign()可将数据框导出到外部统计软件,会创建两个文件,一个是保存数据的文本文件,另一个是指导外部统计软件导入数据的编码文件。

例如,看下面这段代码:

将mydata数据框导出到当前目录的纯文本文件mydata.txt中,同时还会生成一个用于读取该文本文件的SPSS程序mycode.sps。

Package参数的其他值还有“SAS”和“Stata”。

今天跟大家介绍了R的安装、R的载入和数据导入导出,这些还是最基础的东西,其实安装R和载入R包并不复杂,关键就在于数据处理分析。数据的准备可能是数据分析中最具挑战性的任务之一,R提供了丰富函数用以访问外部数据,包括统计软件、数据库等的数据,换言之我们做统计学分析和绘图都需要使用R语言,所以我们对R语言的运用一定要了如指掌,对于生信小白来说,平时没事做,就不要打王者,就把娱乐时间拿来反复练习运用R语言。

你们觉得不错,记得点赞,把它分享给好友,让更多朋友跟我们一起学习吧!

? END ?

南博屹相伴,科研不孤单

喜欢就点在看呗

来源:深圳南博屹生物科技有限公司

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月13日
下一篇 2021年1月13日

相关推荐