1 R语言基本知识

1基本知识html

1.1系统简介linux

那么R究竟是什么?或者说,R究竟是作什么用的?从不一样的角度出发,对R会有不一样的描述。web

从使用角度,R是一个有着统计分析功能及强大做图功能的软件,在GNU协议General Public Licence4下免费发行。数据库

从编程角度,R语言是面向对象的统计编程语言,是由AT&T贝尔实验室所创的S语言发展出的一种方言。编程

从计算角度,R 是一种为统计计算和图形显示而设计的语言及环境。windows

从开发角度,R 是一组开源的数据操做,计算和图形显示工具的整合包有各类方式能够进行编程调用。浏览器

从架构角度,R 是为统计计算和图形展现而设计的一个系统。它包括一种编程语言,高级别图形展现函数,和其它语言的接口以及调试工具。网络

若是必定要找到一个与R相似的软件,那就是商业软件Matlab。R和Matlab都是基于编程进行数据分析的工具,Matlab适用的领域更广,而R更擅长统计分析领域。与Matlab相比,R更具有开放性:架构

R是自由软件,Matlab是商业软件;curl

R能够方便的经过“包”进行扩展,R的核心只有25个包,可是有几千个外部包能够调用,固然你也能够开发本身的;

R语言比Matlab的要强大;

R和其余编程语言/数据库之间有很好的接口;其余语言也能够很方便的调用R的API和结果对象。 

R经常使用于统计领域。大多数人使用R就是由于它的统计功能,R的内部实现了不少经典、时髦的统计技术。

1.2系统安装

打开浏览器,输入R语言官方网址:https://www.r-project.org/

进入网站,点击左边视图栏“Download”下的“CRAN”,进入镜像页面。 

页面按国家名称排序镜像网站。建议选择国内镜像(如清华大学、北京交通大学、厦门大学等)进入下一个页面。 

在这个页面,根据读者电脑操做系统的不一样进行选择。R语言同时支持Windows、Mac、Linux等操做系统。如微软操做系统则选择“Download R for Windows”,进入下一个页面。 

在这个页面,对于首次安装R语言程序的读者,选择“install R for the first time”进入到下一个页面。 

在这个页面显示当前R语言最新版本为3.2.3版本,读者选择“Download R 3.2.3 for Windows”,下载R语言安装程序包(exe)。 

下载完成后,读者双击安装程序包(exe),选择默认设置便可完成安装。安装完毕后,桌面会出现蓝色大R图标。双击该图标,启动R程序,出现以下界面则系统安装成功。 

1.3基本操做

R是一种语法很是简单的表达式语言,基于命令(command)能够经过交互、批处理及脚本等多种方式使用R语言。命令是表达式,也多是赋值语句。若是一条命令是表达式,它被解析后将结果显示在屏幕上,同时释放该命令所占用的内存。赋值语句一样会被解析并把值传给变量,但结果不会显示在屏幕上。建议读者在入门阶段认真学习命令,手动输入,逐步学习R语言。等彻底掌握,对R语言熟练以后再使用RStudio等工具软件进行操做。

R语言是经过大量“开箱即用”称之为“包”(package)的可选模块实现其强大的统计分析功能。“包”是一系列函数、数据、代码以R语言规范定义的格式组成的集合。这些包横跨各个领域,提供了丰富多彩的功能,包括聚类分析、金融、机器学习、生存分析、时间序列等34类,聚集了全球各行业专业人士应用R语言的最新成果,具体内容可参见1.3.4节内容。

在进行包安装和使用前,须要对CRAN进行设置。选择R菜单“程序包”,弹出下拉菜单,选择“设定CRAN镜像…”,建议仍然选择国内镜像。镜像站点设置完成后,便可开始包的安装。      

1.3.1包的安装

包的安装通常有三种方法。

第一种是经过R菜单选择“程序包”下的“安装程序包…”,弹出包列表,选择相应程序包进行安装。这种方法须要熟知包名。 

第二种是下载相应的包压缩文件(zip),而后经过R菜单选择“程序包”下的“从本地zip文件安装程序包…”,手动进行安装。

第三种是在提示符(>)下输入安装包的命令,程序会自动经过镜像站点查找包名,找到该包名后会自动进行连接、下载、安装一系列动做。在安装包的过程当中,如要求安装该包依赖的相关包,程序会自动进行连接、下载、安装,全程无需人工干预。推荐使用这种方法。

命令:install.packages(“包名”) 

据官网统计,截至2017年1月,公开发布的包数量已接近10000个。对如此多的包,读者如何找到与工做、研究相关的包呢?在联网状态下,读者能够进入官网按照“包发布时间”或“包名”进行查阅。选择“Table of available packages, sorted by name”进入索引页面。也能够经过经过R菜单选择“帮助”下的“手册(PDF文件)”,在弹出菜单中选择“R Reference”进行查看。PDF索引不便于检索,建议采用网页检索方式。 

在这个页面,读者能够打开查询窗口,输入关键英文单词、词组(如Ann、hydro、wave等)进行检索,经过相应的注释、说明,找到相应的包后,在程序窗口下输入对应的包名进行安装。 

如经过查询,检索,找到一个关于研究中国有关数据的R接口包“rstatscn”,输入安装命令后,提示该包须要安装curl、openssl、R六、httr这4个相依赖的包。程序自动搜寻、下载并安装这些包后,完成“rstatscn”的安装。 

1.3.2包的使用

包安装完成后,须要进行加载才能使用。计算机上存储包的目录称为库(library),函数.libPaths()显示库所在的位置,函数library()显示库中全部的包,函数search()显示已经加载并可以使用的包。 

程序窗口显示当前可用的包有:stats、graphics、datasets、methods、base等包。这些包是R语言程序运行的基础包。在程序启动时已经加载到内存当中。能够经过以下命令对咱们关注的包进行查阅。

命令:library(help=“包名”)

如对stats这个包进行查阅,输入:library(help=“stats”),回车便可弹出base这个包的详细说明。也可经过命令help.start() 启动“HTML帮助文件“查看相应参数、具体使用方法及范例等内容。建议使用HTML方式查阅。

包不加载,或包加载失败,后续工做即没法开展。肯定要使用的包名之后,使用以下命令加载该包。

命令:library(包名)

前述的stats、graphics、datasets等基础包不须要再次加载,可直接使用。在加载一个包前必须肯定已经安装了这个包。一次会话中,包只需加载一次。有些包会对依赖包中的参数、方法进行重构,加载这类包时会有提示信息,不影响正常使用。若是须要,能够自定义启动环境,修改根目录下\etc\文件夹中的Rprofile.site配置文件,可实现程序启动时自动加载频繁使用的包,方便工做开展。 

1.3.3 工做空间

R语言程序启动即加载一个工做空间(workspace)。工做空间存储当前工做环境下全部操做的命令、函数、步骤等。保存工做空间时,系统会生成.RData和.Rhistory,其中.RData以二进制的方式保存了会话中的变量值,.Rhistory以文本文件的方式保存了会话中的全部命令。

保存当前工做空间,下次启动程序会默认打开上次关闭的工做空间,并提示“原来保存的工做空间已还原”,此时可使用ls()、ls.str()和history()函数查看以前保存的数据和命令。使用rm()和remove()函数能够删除工做空间中的变量。使用getwd()和setwd()函数能够获取/设置工做空间目录。使用list.files()函数能够查看当前目录下的文件。在后续工做中,能够经过上、下箭头(↑、↓)快速调取已使用的命令、函数,提升效率。

针对不一样的工做内容应建立不一样的工做空间。

1.3.4任务视图

打开浏览器,输入镜像网址:https://cran.r-project.org/。进入网页后点击左边视图栏“Task Views”,进入“任务视图”页面。 

该页搜集整理了R语言在聚类分析、计量经济学、生态环境分析、金融、遗传学、并行计算、机器学习、心理学、最优化、稳健统计、生存分析、时间序列等34类大的专项任务研究状况。每个分类下面都聚集了全球各行业专业人士应用R语言的最新成果内容。读者可根据本身的兴趣(如时间序列分析)选择相应分类进一步了解有关内容。

R语言任务视图分类表

分类任务名称

主要研究内容

Bayesian贝叶斯推理

Bayesian Inference

ChemPhys化学物理分析

Chemometrics and Computational Physics

ClinicalTrials临床试验

Clinical Trial Design, Monitoring, and Analysis

Cluster聚类分析

Cluster Analysis & Finite Mixture Models

DifferentialEquations微分方程

Differential Equations

Distributions几率分布

Probability Distributions

Econometrics计量经济学

Econometrics

Environmetrics生态环境分析

Analysis of Ecological and Environmental Data

ExperimentalDesign试验设计

Design of Experiments (DoE) & Analysis of Experimental Data

Finance实证金融

Empirical Finance

Genetics统计遗传学

Statistical Genetics

Graphics图形可视化

Graphic Displays & Dynamic Graphics & Graphic Devices & Visualization

HighPerformanceComputing

高性能并行计算

High-Performance and Parallel Computing with R

MachineLearning机器学习

Machine Learning & Statistical Learning

MedicalImaging医学图像

Medical Image Analysis

MetaAnalysis元分析

Meta-Analysis

Multivariate多变量统计

Multivariate Statistics

NaturalLanguageProcessing天然语言处理

Natural Language Processing

NumericalMathematics数值分析

Numerical Mathematics

OfficialStatistics官方统计调查方法

Official Statistics & Survey Methodology

Optimization最优化

Optimization and Mathematical Programming

Pharmacokinetics药物代谢动力学

Analysis of Pharmacokinetic Data

Phylogenetics种系遗传学

Phylogenetics, Especially Comparative Methods

Psychometrics心理学

Psychometric Models and Methods

ReproducibleResearch 可重复性研究

Reproducible Research

Robust稳健统计方法

Robust Statistical Methods

SocialSciences社会科学

Statistics for the Social Sciences

Spatial空间分析

Analysis of Spatial Data

SpatioTemporal时空数据处理与分析

Handling and Analyzing Spatio-Temporal Data

Survival生存分析

Survival Analysis

TimeSeries时间序列

Time Series Analysis

WebTechnologies网络技术与服务

Web Technologies and Services

gR图论

GRaphical Models in R

系统程序也能够经过install.packages(“ctv”)命令自动安装“任务视图”,安装成功后,加载ctv包便可查阅所有分类信息。 

经过install.views()命令可一次性安装某类(如TimeSeries)视图下的所有可用包。 

1.4 使用帮助

开源软件一般都有很是好的帮助系统,不管对于初学者仍是熟练者都能带来很大的帮助。R固然也不例外。R中提供的帮助主要有如下几种:

1.4.1 HTML帮助文档,这是最经常使用的帮助文档,方法是输入help.start()命令,程序会自动打开浏览器,连接到本地安装的帮助文档。包括入门文档(Manuals)、索引(Reference)、问答(Windows FAQ)及搜索(Search Engine & Keywords)等功能。其中索引(Reference)下的包(Packages)为本地已安装全部R包列表。 

1.4.2 命令帮助文档,若是已经知道一个函数的名称(好比mean),须要了解其所属的包、用途、用法、参数说明、返回值、参考文献、相关函数以及范例等,可使用以下命令:help(“mean”) (引号能够省略),或?mean,程序会打开浏览器,显示该函数的详细文档内容,包括定义、表达式、参数含义、值、范例等。使用help(package=“包名”)命令还能够查看具体包的详细内容和其余信息。 

1.4.3 参数帮助文档,对于函数,可使用args()命令获取函数参数。 

1.4.4 搜索文档,若是不知道函数具体用法(如mean),可使用以下命令进行搜索:??mean

程序会打开浏览器,列出全部mean()函数的搜索结果,这些结果说明mean()函数在不一样包的定义、应用有多是不同的,读者可根据搜索结果详细阅读有关内容。这种方法(??)等同于输入help.search(“”)命令。 

1.4.5 示例文档,对于函数用例,还可使用example(“”)(引号能够省略)命令执行示例。 

1.4.6 演示文档,使用demo()能够查看示范程序,demo()会按照包分组,列出全部可用的演示文档。输入可演示的名称能够进行演示。 

1.4.7 系统关键字和运算符帮助文档,与函数的帮助相似,可是须要加上单引号。 

1.4.8 函数文档,使用apropos(“关键词”)能够找到全部包含“关键词”的可用函数。 

1.4.9 PDF文档,使用vignette(“主题词”)能够列出全部包含“主题词”的可用PDF文档。 

1.4.10官方网站搜索,前述各类帮助方法都受限于本地环境已经安装的包。若是要搜索R中全部的资源(包,函数、数学方法等),可使用RSiteSearch(“”)命令,或者在R的官方网站搜索,输入:https://www.r-project.org/search.html

相关文章
相关标签/搜索