版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章
R语言编程基础内容要点1、掌握R语言的安装方法及语法规则2、掌握数据处理的方法,主要包括创建变量及变量的命名规则、数值型等数据类型、向量等常见的数据结构、使用分支语言进行选择执行、使用循环语句进行重复执行、内置函数的使用及自定义函数的编写等。目录CONTENTSR语言的安装和配置界面与菜单变量与数据类型数据结构控制语句函数123456R语言的安装及配置1、R语言是统计领域广泛使用的、诞生于1980年前后的S语言的一个分支。R语言可以看作是S语言的一种实现。2、得益于开源、免费且易上手的特点,R语言成为了数据分析领域中颇受欢迎的软件。R语言特点在于:可有效地进行数据处理与存储,支持数组、矩阵运算处理,包含大量专门用于数据分析、统计分析和数据挖掘的实现方法,具有强大的数据可视化能力。3、经过多年的发展。R语言可以实现区间估计、方差分析、回归等经典的数理统计方法,也可以实现聚类、决策树、神经网络等机器学习方法。这些方法在R语言中通过程序包(Package)来实现。R语言能够广泛地使用在很多平台与操作系统上,包括主流的Windows,macOS,Linux等。4、本节介绍R语言和RStudio的获取和安装,RStudio是R语言中份额最高的集成开发环境IDE,相比自带的IDE,RStudio的便利性得到了全面的提升。R语言的安装及配置R语言的获取和安装进入官网,选择与计算机相匹配的R语言版本,如图2-1所示。R语言的安装及配置R语言的获取和安装在“base”一行,单击“installRforthefirsttime”链接,如图2-2所示。R语言的安装及配置R语言的获取和安装单击“DownloadR3.5.0forWindows”链接,如图2-3所示。R语言的安装及配置R语言的获取和安装安装R语言,按照安装向导单击“下一步”按钮即可,如图2-4所示。R语言的安装及配置R语言的获取和安装直到安装向导提示安装完成,单击“结束”按钮,如图2-5所示。R语言的安装及配置RStudio的获取和安装在官网首页的中间位置找到并单击RStudio的下载链接“Download”,如图2-6。R语言的安装及配置RStudio的获取和安装选择免费版本(FREE),单击“DOWNLOAD”按钮下载安装包,如图2-7所示。R语言的安装及配置RStudio的获取和安装单击“DOWNLOAD”按钮后,跳转到最下方RStudio提供了多种操作系统的不同版本及不同的安装包格式(exe、zip等),选择安装版本,如图2-8所示。R语言的安装及配置RStudio的获取和安装安装RStudio,下载完成后双击exe可执行文件,在RStudio安装向导的界面单击“下一步”按钮,如图2-9所示。安装结束,单击“完成”按钮,如图2-10所示。界面与菜单RGui是R语言的原生界面,在新建一个脚本时会生成一个可移动的脚本编辑窗口以供编写代码使用。RGui界面R语言默认安装在C:\ProgramFiles\R路径之下。当在Windows系统下启动R语言时,会出现如图2-11所示的用户界面。在RGui窗口里,有菜单栏、工具栏和控制台。界面与菜单RStudio的界面由脚本窗口、操控台、工作空间、画图函数包和帮助窗口4个区域组成,功能丰富、多样,各功能版块分布合理。RStudio界面图2-12展示了Windows系统下的RStudio用户界面。RStudio总共有4个工作区域。RStudio界面(续)左上方区域是脚本窗口,在新建脚本或打开已有脚本后,即可在脚本窗口编辑脚本中的代码,运行脚本。如图2-13所示,单击菜单栏上的“File”按钮,选择“NewFile”菜单中的“RScript”选项,建立一个R语言的脚本文件即可开始编程。RStudio界面(续)脚本窗口右上方有个“Run”按钮,如图2-14所示,直接单击可以运行当前脚本中鼠标所在的代码行。如果用鼠标在代码上选择多行,再单击“Run”按钮,就能运行选中的多行代码。“Run”按钮右边的按钮是“Re-Run”按钮,可以重复一次上次的运行。RStudio界面(续)左下方是操控台,如图2-15所示。操控台显示代码运行后的相关信息。R语言是动态语言,键入一行代码即可编译和解释一行,在操控台中亦可编写、运行临时代码。RStudio界面(续)右上方是工作空间,如图2-16所示。此区域包含“Environment”“History”和“Connections”三个选项卡。“Environment”将记录编译过程中产生的变量,“History”将记录编译的所有代码,“Connections”将记录与数据库的连接信息。RStudio界面(续)右下方是画图函数包和帮助窗口,如图2-17所示。此区域有4个主要的功能,“Files”用于查看当前workspace下的文件;“Plots”用于展示运算结果的图形;“Packages”用于展示系统已有的软件包;并且能勾选是否载入内存;“Help”可以查看帮助文档等。变量与数据类型变量是一个存放信息的容器,它可以存取数据。对于变量名称,例如a<-1,此时a就是一个变量,1为a变量的值,在需要时可使用“a”这个名称来调用a变量内的值。变量R语言支持变量赋值,并且可以通过变量名读取变量值。R语言中正式的赋值符号是“<-”(注意:也可以使用为“=”操作符,但<-创建的变量的作用范围可以在整个顶层环境,而=仅仅为一个局部环境),读作“赋值为”。#号是注释符号,表示后面的语句或文本不被编译器编译执行,例如:>x<-2#可以读作“x赋值为2”把一个值赋值给变量后,在对表达式求值时,R解释器会自动用该值来替换该变量名。例如:>x<-2>x#查看x的值[1]2变量不可随意命名,必须遵循规则,命名的规则如下。变量名称可包含英文字母、数字、下画线和英文点号(句号),不能有中文、空格、“-”存在。不能以数字或下画线开头,开头必须是英文字母或者点号。可以以点号开头,但点号后面不能是数字。变量与数据类型数据类型在数据结构中的定义是一组性质相同的值的集合及定义在这个值集合上的一组操作的总称,变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。R语言中所有对象都有两个内在属性:类型和长度。类型是对象元素的基本种类,共4种:数值型、字符串型、复合型和逻辑型(FALSE或TRUE)。还有不常用的类型,但是并不表示数据,如函数或表达式。长度是对象中元素的个数。R语言没有标量,它使用各种类型的向量来存储数据。常见的数据类型如表2-1所示。表2-1数据类型(续)字符串型(character)1、创建一个英文字符串'speed',并将它赋值给变量b,代码如右:2、使用mode()函数查看变量的数据存储类型,如果是字符串将返回"character",代码如右:3、创建一个中文字符串'数据',并将它赋值给变量c,代码如右:4、查看数据类型,代码如右:数据类型(续)数值型(numeric)5、创建一个数值5,并将它赋值给变量d,代码如下:6、使用mode()函数查看变量的数据存储类型,如果是数值型数据将返回"numeric",代码如右:数据类型(续)逻辑型(logical)7、创建一个逻辑值True,并将它赋值给变量e,代码如下:8、使用mode()函数查看变量的数据存储类型,如果是逻辑型数据将返回"logical",代码如下:数据类型(续)复合型(complex)9、创建一个表达式7+3i,并将它赋值给变量f,代码如下:10、使用mode()函数查看变量的数据存储类型,如果是复合型数据将返回"complex",代码如下:数据结构R语言中数据结构包括向量、数组、矩阵、列表、数据框、因子等。向量可使用c()函数创建向量,在c()函数中的每个元素用逗号隔开。创建一个向量,并赋值给变量a,代码如右:R语言提供多种方式对向量的成员进行取值(1)通过元素在向量中的位置取值此方法是在变量后加上中括号,中括号里面用数字表示要取出的向量元素的位置下标,默认从1开始计数。取向量a中的第3个元素,代码如下:取向量a中的第2到第7个元素,代码如下:数据结构向量(续)(2)把一个由整数构成的向量当作索引来获取向量中的多个元素取向量a中第2、4、6个元素,代码如下:取向量a中第3、7、8个元素,且可不按原变量顺序取值,代码如下:取向量a中第3、7、8个元素,且可不按原变量顺序取值,代码如下:(3)通过逻辑向量来指定要取哪些值判断向量a中的元素是否大于“5”,代码如下:取向量中大于“5”的元素,将表达式“a>5”放在变量a后面的中括号内,代码如下:(4)通过which()函数指定选取元素的向量下标如果有多个元素符合条件,那么返回多个下标,创建向量abc,代码如下:数据结构数组数组数组(Array)是一种多维向量,与矩阵相似,但是维度可以大于2,被认为是具有维度属性的向量。可使用array()函数创建数组,array()函数的参数如表2-2所示,其语法格式为:array(data=NA,dim=length(data),dimnames=NULL)表2-2数据结构数组(续)数组可定义一维及一维以上的数据。(1)定义一个一维数组,如定义一个3行4列的数组,代码如下:
数组和向量一样,可以通过下标取其中的元素,例如,取第2行第3列的元素,代码如下:
取某个维度的全部元素,例如,取第2行的所有元素,代码如下:数据结构数组(续)(2)定义两个及两个以上维度的数组,如定义一个2×3×3的数组,代码如下:通过下标取其中的元素、子集,代码如下:数据结构数组(续)(3)通过array()函数的“dimnames”指定各维度名称,代码如下:数据结构矩阵矩阵(Matrix)是将数据按行和列来组织的一种数据对象,相当于二维数组,可以描述二维的数据。与向量相似,矩阵的每个元素都拥有相同的数据类型。通常用列来表示来自不同变量的数据,用行来表示来自相同变量的数据。在R语言中可以使用matrix()函数来创建矩阵,其参数如表2-3所示,其语法格式为:matrix()函数语法格式表2-3数据结构矩阵(续)使用matrix()函数创建一个3行6列的矩阵,元素取值从“1”到“18”,代码如下:矩阵和向量的取法相同,可以通过下标取其中的元素,例如,取第2行第6列的元素,代码如下:结合c()函数,选取第1行第2列和第5列的元素,代码如下:取某行或者某列的所有元素,只要指定对应行或列,并保留逗号即可。例如,取第4列全部元素,代码如下:数据结构列表列表是一个有序的对象集合。列表允许整合若干对象到单个对象名下。例如,某个列表中可能由若干向量、数据框、矩阵,甚至其他列表组合而成。可以使用list()函数创建列表,其语法格式为:其中,name1,name2是列表的名字,object1,object2是数据对象。创建一个列表,方法为:上例创建了一个列表,由三个成分组成:字符串、矩阵和数值型向量。可以通过在美元符号“$”后带某个成分的名称、在双重括号中指明代表某个成分的数字或名称来访问列表中的元素,三种方式的代码如下。1)第一种方式2)第二种方式3)第三种方式数据结构数据框数据框是展现表格数据的有效形式。数据框中不同的列可以包含不同数据类型(数值型、字符串型等)的数据,数据框是处理这类数据较为有效的形式。可以通过data.frame()函数创建数据框,data.frame()函数的参数如表2-4所示,其语法格式为:data.frame()函数语法格式表2-4数据结构数据框创建一个数据框,代码如下:数据结构数据框可以通过下标或代表其成分的名称取其中的元素、子集,代码如下:数据结构因子因子是一种向量类型的对象,是一种特殊的向量,通常向量对应着数值型变量,而因子则对应着分类型变量。和普通的向量相比,因子向量不仅仅能够存储分类型变量,而且能够提供分类型变量各个水平的信息。因子向量可分为有序型因子与无序型因子,有序型因子表示有序变量。创建因子可使用factor()函数,该函数的参数如表2-5所示,其语法格式为:
factor()函数语法格式表2-5数据结构因子(续)R语言中可使用多种方式创建因子及获取因子对象的属性信息。(1)创建因子,代码如下:(2)创建有序因子,代码如下:(3)用cut()函数把数值型对象的数据自动切分为数据区间并转换为因子,代码如下:数据结构因子(续)R语言中可使用多种方式创建因子及获取因子对象的属性信息。(4)用cut()函数把数值型对象的数据切分成为自定义区间并转换为因子,代码如下:(5)用attr()函数获取因子对象的levels属性,代码如下:(6)用attr()函数获取对象的类型,代码如下:控制语句R语言中的大多数操作都可以写成函数,为了简化操作,R语言提供了一些在常用编程语句中使用的特殊语法,本章主要介绍条件语句和循环语句。条件语句条件语句指定由程序评估计算或测试的一个或多个条件,若条件被确定为真(TRUE),则执行指定的一个或多个语句;若条件被确定为假(FALSE),则执行其他语句。R语言中最常用的条件语句是if语句,if语句的一般形式如下:控制语句条件语句(续)condition(条件)语句会判断条件是否成立,并返回一个逻辑值,当值为TRUE时将执行condition(条件)语句后的代码,当值为FALSE时会跳过condition(条件)语句后的代码,如图2-18所示。控制语句条件语句(续)例:创建一个条件语句,如果x大于6,那么x减1,并打印运算后的值;如果x小于3,那么x开平方,并打印运算后的值;如果x小于或等于6并大于或等于3,那么打印"success"字符串,代码如下:控制语句循环语句。当同一段代码需要被执行多次时需要使用循环语句。一般情况下,语句是按顺序执行的,首先执行第一个语句,然后执行第二个语句,以此类推。R语言提供了允许更复杂执行路径的各种控制结构。循环语句允许多次执行语句或语句组。R语言提供几类循环语句来处理循环需求,如表2-6所示。循环控制语句用于更改程序正常执行顺序。当执行离开范围时,在该范围内创建的所有自动对象都将被销毁。R语言支持以下循环控制语句,如表2-7所示。表2-6表2-7控制语句循环语句:repeat循环repeat循环repeat(重复)循环可以多次执行相同的代码,直到满足停止条件。在R语言中创建repeat(重复)循环的基本语法为:重复打印5次字符,代码如下:控制语句循环语句:while循环while循环while循环会一遍又一遍地执行相同的代码,直到满足条件为止。在R语言中创建while循环的基本语法为:重复打印3次字符,代码如下:控制语句循环语句:for循环for循环for循环是一种重复控制结构,可以编写一个需要执行特定次数的循环。在R语言中创建for循环的基本语法为:for循环中的执行次数比较灵活,它不限于整数、数字。我们可以传递字符向量、逻辑向量、列表或表达式给for循环,for循环将依次打印向量中的所有元素,代码如下:函数一个函数是组合在一起以执行特定任务的一组语句。R语言具有大量内置函数,可以直接调用。当然,用户也可以自己创建函数(自定义函数)。对于R语言来说,函数是一个对象,函数可以对输入的参数执行一系列运算,函数在运算完之后会返回一个结果。内置函数内置函数库非常丰富,如paste()、seq()、rep()等函数。在用户编写的程序中无须任何声明即可直接调用。●paste()函数
paste()函数的作用是把它的自变量连成一个字符串,它的参数如表2-8所示,其语法格式为:表2-8paste()函数语法格式函数内置函数:paste()函数(续)运用paste()函数生成字符串,代码如下:两串字符之间有空格,代码如下:两串字符之间没有空格,代码如下:三串字符之间没有空格,代码如下:字符串之间用逗号连接,代码如下:函数内置函数:seq()函数seq()函数seq()函数的作用是根据参数生成一组数字的序列,它的参数如表2-9所示,其语法格式为:(1)使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业行业安全防范分析
- 2025承包养护绿化合同
- 数字化转型背景下的工业互联网机遇与挑战
- 岗位培训与团队协作的协同效应
- 小学生科技创新活动的国际化交流与合作
- 学生心理健康教育的师资培训与专业发展
- 实验室生物安全应急预案制定与实施
- 小学劳动教育课程的评价与反馈机制
- 家禽基地租赁合同(2篇)
- 安保服务响应协议书(2篇)
- 2025年中国高纯生铁行业政策、市场规模及投资前景研究报告(智研咨询发布)
- 2022-2024年浙江中考英语试题汇编:完形填空(学生版)
- 2025年广东省广州市荔湾区各街道办事处招聘90人历年高频重点提升(共500题)附带答案详解
- 中试部培训资料
- 22部能够疗伤的身心灵疗愈电影
- 领导干部有效授权的技巧与艺术课件
- DB37-T 1915-2020 安全生产培训质量控制规范-(高清版)
- 陕西省商洛市各县区乡镇行政村村庄村名居民村民委员会明细
- 实习生请假条
- 光伏电站继电保护运行规程
- 铁路危险源辨识
评论
0/150
提交评论