R语言基础课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《R语言基础课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 基础 课件
- 资源描述:
-
1、 语言基础一 R简介二 R语言数据操作基础三 R语言的可视化一 R 简 介什么是R?(1)最受欢迎的数据分析和可视化平台之一(2)首次出现1993, 2011年随大数据的爆发而流行起(3)R是一种统计绘图语言,也指实现该语言的软件。它是一种解释型语言,而不是编程语言,也就是说,输入的命令能够直接执行。为什么选择R?(1)免费、支持Windows/Mac OS/Linux(2)开源。有强大的工具包,可以贡献自己的工具包(3)可以完成数据分析涉及的几乎所有步骤:数据获取数据获取数据清理数据清理数据分析数据分析结果报告结果报告发布结果发布结果下载和安装RThe Comprehensive R Arc
2、hive Network,简称CRAN,提供下载安装程序和应软件包。在R主页 http:/www.r-project.org/ 选择下载相应的版本。R程序包base:包含基本的R函数datasets:包含基本的R数据集stats:包含各类统计函数nlme:包含用于线性和非线性混合效应的建模函数graphics:包含基本图形函数lattice:包含各种格栅函数,用于高级图像的绘制cluster:包含用于各种聚类分析的函数foreign:包含读取各种格式,如SPSS、SAS等格式数据文件函数utils:包含R管理的工具函数rpart:包含建立分类回归树的函数grDevices:包含基本图形设备函数
3、methods:包含关于R对象的方法和类的定义函数函数调用 成功启动R意味着用户可在R工作空间中创建和管理R对象,调用已加载包中的函数实现对对象的管理和对相关数据的分析。用户可以通过两种方式调用函数:(1)函数名():这是一种无形式参数的函数调用,即括号中不给出任何内容。R将以默认的参数值调用并运行函数,运行结果即函数值将自动显示在R控制台中。例如:search():浏览已加载包的名称,即以无形式参数的方式调用名为search的函数。若要调用尚未加载的包中的函数,需按照“先加载,后浏览,在调用”的步骤实现。(2)函数名(形式参数列表):这是一种带形式参数的函数调用,即括号中依顺序给出了一个或多
4、个形式参数,各形式参数之间以英文逗号隔开。例如:为了解各包中包含哪些函数、各函数的功能以及如何调用函数,可书写:library(help=“包名称”),即以带形式参数(help=“包名称”)的方式调用名为library的函数。library(help=base) 若要调用尚未下载的包中的函数,需首先将相关包下载并安装好。当R启动后并处于联网环境下,步骤为:第一,指定镜像站点。第二,下载安装Install package(“包名称”)。第三,加载包library(“包名称”)。查看R的帮助文档最常用的方法:1 菜单 帮助Html帮助或者help.start():以浏览器的形式打开R的帮助文档2
5、菜单 帮助R函数帮助或者help(函数名):用于查看指定函数的帮助文档 R函数帮助文档通常包括函数的功能说明(参见Description部分)、函数的调用形式(参见Usage部分)、形式参数的含义(Arguments部分)、形式参数的具体取值(Value部分)、调用示例(Examples部分)等主要内容。R的运行方式两种运行方式:第一,命令行运行;第二,程序(脚本)运行。脚本运行还可采用非交互方式运行程序,步骤:一、指定R程序所在目录为R的当前工作目录。调用getwd(),即可获得当前目录名。改变目录可在菜单栏中改变,也可以用setwd(“指定目录”)。二、运行当前工作目录中的指定R程序sou
6、rce(“R程序名”)。此外,程序运行方式中输出结果默认显示在控制台上,当处理的数据量较大,计算结果较多时,往往希望将计算结果输出到控制台的同时,保存到一个指定的文本文件中。为此,需在程序的第一行调用函数sink,基本书写格式为:sink(“结果文件名”,append=TRUE/FALSE,split=TRUE/FALSE)式中,结果文件一般为文本文件,默认位于当前目录下。append为TRUE表示当前文件有同名时追加到原文件后面,FLASE表示覆盖原文件内容。split为TRUE表示输出到指定文件夹的同时,仍输出到控制台,FLASE表示结果仅输出到指定文件夹。二 R语言数据操作基础R语言的数
7、据类型R语言支持的数据类型:(1)数值型(numeric):类型的取值是实数。例如a-9.11;mode(a):显示指定对象的存储类型。(2)复数(complex):取值可扩展到虚数。例如a-100+10i;mode(a)(3)逻辑(logical):取值为TRUE(T)和FALSE(F),R语言区分大小写,T和F必须大写。例如a-T;mode(a)(4)字符型(character):类型的取值是字符串。例如a-”assf”(英文双引号不可以省略);mode(a)对象及其属性R语言常用对象类型:(1)向量(vector):数据类型都可取,不允许出现不同数据类型(2)数组(array):数据类型
8、都可取,不允许出现不同数据类型(3)矩阵(matrix):数据类型都可取,不允许出现不同数据类型(4)数据框(data frame):数据类型都可取,不同列之间的数据类型可不同(5)列表(list):数据类型都可取,任何元素的数据类型均可不同(6)因子(factor):数据类型都可取,不允许出现不同数据类型对象及其属性固有属性:模式和长度使用mode函数可以读取对象模式,使用as.可以改变对象的模式。例如:a-100;mode(a),输出“numeric”,a-”100”;a-as.numeric(a)(转化数据类型),输出100。使用length()函数读取对象的长度属性对象的搜索和删除由于
9、所有的对象均存储在工作空间中,一旦对象过于庞大,就会影响运行速度。需查看工作空间内现存的对象列表(ls()),并删除其中某个对象(rm(对象名列表),remove(对象名))。向量o创建向量R语言使用c(,)来创建向量。例如:c(2,5,6,9),c(T, F, T, F),c(China, Ko, Ja”)等。重复函数rep()创建向量,例如:rep(2:5,times=4)序列函数seq()创建向量,例如:seq(from=3,to=21,by=3)“:” 产生向量,例如:1:10表示1到10的数字,例如:2:30*2+1表示产生2到30的数字的基础上再乘以2再加上1。通过与向量的组合,产
10、生更为复杂的向量。例如:rep(1:2,c(10,15)表示1重复10次,2重复15次产生字母序列letters,例如:letters1:26向量o向量索引1、下标方式索引。下标始于1而非0。例如:a4)结果为2,3。which.max和which.min用于返回数值型向量中最大和最小元素的下标,例如which.max(a)结果为3,which.min(a)结果为1.3、subset方式索引。可以方便地索引向量、矩阵以及数据框。返回的是元素,不是下标。例如:subset(a,a4&a6)结果为5。4、%in%方式索引。可以判定对象是否包含某项数据,如果存在,返回T,否则放回F。例如:a-c(1
11、1,11,12,13,14);c(11,15)%in%a结果为:TRUE FALSE向量o向量的编辑 向量修改只需要通过索引找到特定元素,然后直接使用-进行赋值即可。1、向量扩展 R语言可对对象长度进行任意扩展。例如a-c(1,2,3);a-c(a,c(5:7) a 结果为1 2 3 5 6 72、元素的删除 对向量重新赋值的方式删除向量内某一元素。例如:a-c(1:4);a-a-3 a结果为1 2 4向量o向量排序1、向量正排序 sort()函数:根据数值大小进行正排序。例如a-c(11:20,c(1:9);sort(a)2、向量倒排序 rev()函数:根据下标进行到排序。例如a-c(1,4
12、,2,6,8);rev(a)向量o向量去重 unique()函数:实现向量的去重。例如:a-c(1,2,1,4,2,4,5,1);unique(a)结果1 2 4 5向量o缺失值处理na.fail()函数:向量a内包含至少一个NA,返回错误,不包含任何NA,返回原有向量。例如:a-c(1,2,NA,2,3,NA);b-na.fail(a)na.omit()函数:返回删除NA后的向量。例如:b-na.omit(a)attr(na.omit(),na.action):返回向量a中元素为NA的下标。is.na()函数:用于判断向量内的元素是否为NA。例如:b-!is.na(a)向量o向量间操作pmi
13、n(,.):依次比较向量1至向量n内的各元素。并把较小的元素组成新向量。例如:a-c(1,2,9,3,5);b-c(2,3,5,1,9);c-c(2,3,4,5,1);pmin(a,b,c)。结果为1 2 4 1 1pmax(,.):依次比较向量1至向量n内的各元素。并把较大的元素组成新向量。pmax(a,b,c)。结果为2 3 9 5 9intersect(,):返回向量的交集。union(,):返回向量的并集。setdiff(,):返回向量的补集。矩阵和数组o创建矩阵matrix()函数:以向量的形式输入矩阵中的全部元素,使用ncol和nrow可设置矩阵的行和列数。例如a-c(1:12);
14、matrix(a,nrow=3,ncol=4),向量112的填充方式为以列为单位填充。如果想以单位填充,可以吧matrix函数的byrow参数设置为T,例如matrix(a,nrow=3,ncol=4,byrow=T)dim()函数:获取并编辑行列参数。例如:data-c(1:10);a-matrix(data);dim(a)-c(2,5);adimnames参数设置行和列的名称。例如:a-matrix(1:10,ncol=2,nrow=5,dimnames=list(c(r1,r2,r3,r4,r5),c(c1,c2);aas.vector():将矩阵反过来转化为向量。矩阵和数组o矩阵索引1
15、、使用行列下标来索引。例如: data-c(1:10);a-matrix(data,ncol=2,nrow=5,dimnames=list(c(r1,r2,r3,r4,r5),c(c1,c2);a3,2,表示矩阵a第三行第二列的元素。2、使用行和列名称来索引。例如:ar3,c23、使用一维下标来索引。例如:a1,#以向量形式返回矩阵a第一行的所有元素。a,1#以向量形式返回矩阵a第一列的所有元素。矩阵和数组o矩阵编辑1、矩阵合并。cbind()函数:通过列合并函数将多个已有向量合并成矩阵。例如:x1-c(1:5);x2-c(6:10);cbind(x1,x2)rbind()函数:通过行合并函数
16、将多个已有向量合并成矩阵。例如:x1-c(1:5);x2-c(6:10);rbind(x1,x2)2、删除矩阵。删除矩阵内某行和某列的方式类似于向量,实质是对向量重新赋值。例如: data-c(1:10);a-matrix(data,ncol=2,nrow=5);a A-matrix(c(1:12),nrow=4,ncol=3);B C D-matrix(rnorm(16),4,4)矩阵的加法(A+B)矩阵的减法(A-B)矩阵的各元素的乘法(A*B)矩阵相乘(A%*%C)矩阵和数组o矩阵的运算2、转置矩阵t()函数。例如:t(A)3、矩阵求解solve()例如:求解DX=A中的X,可以使用so
17、lve(D,A)4、矩阵的特征值和特征向量eigen()例如:E-eigen(D)$values为方阵的特征值,$vectors为方阵的特征向量,且一一对应。矩阵和数组o数组创建array()函数:设置位数向量来创建一个多维数组,矩阵可以看成一个2维数组。例如data-array(c(1:30),dim=c(2,5,3);矩阵和数组o数组索引使用多个下标来索引。例如:data1,2,3,表示对第3个2*5矩阵中第一行第2列元素(23)进行了索引。data,3,则表示由第二维度下标是3的全部元素组成的二维数组。矩阵和数组oapply函数应用apply函数可以读取多维数组中某个维度的所有数据并应用
18、其它函数进行数据处理。apply(x,MARGIN,FUN),x多维数组array.MARGIN预处理的维数.FUN多维数组中某一维度元素的处理函数。例如:apply(data,3,sum)1(结果为55):用于计算多维数组data中第三维下标为1的所有元素的总和。或者使用sum(data,1)来实现。列表和数据框o列表的创建list()函数:创建列表对象。例如:data-list(a=c(1,2,3),b=c(one,tow),c=T,d=c(3i+4,9i-9);data。每列内元素的数据类型和长度可以各不相同,但是相同列中元素的数据类型相同。列表和数据框o列表索引1、使用列下标来索引。例
19、如:data12、使用列名称来索引。例如:data$a和dataa列表和数据框o列表编辑1、列表合并。使用c(,)合并和扩展list.注意list(,)不能进行list合并,它是实现list的嵌套。例如:data-c(data,list(e=c(T,T,F,F)2、列表转化为向量unlist()函数。例如:unlist(list(c(1:3),c(one,two)列表和数据框o数据框的创建和名称data.frame()函数:把多个向量建立为一个数据框,并为列设置名称。例如:x1-c(10,13,45,26,23,12);x2-c(20,65,32,32,27,87);x-data.frame(
20、重量=x1,运费=x2)。每列内元素的数据类型可以各不相同,但是相同列中元素的数据类型和长度必须相同。也可以通过data.frame函数将矩阵matrix转化为数据框。例如:data.matrix-matrix(1:12,c(3,4);data.frame(data.matrix)names():读取并编辑列名称,如:names(x)names(x)1-体积列表和数据框o数据框索引1、索引列:使用列下标来索引,例如:x2.使用列名称来索引,例如:x$运费和x运费,读取多列数据可用x,1:2,不可以采用x形式。2、索引行:行下标,,例如:x1:2,3、索引元素:例如:x$运费1,x运费1,x21
21、,x1,24、subset函数索引:例如:subset(x,运费32&运费32&运费=87,体积)列表和数据框o数据框索引1、attach函数:数据框绑定函数,detach函数:数据框的解除。例如:使用R中的自带数据集cars(查看R中的自带数据集用data()函数)attach(cars);speed2、with函数:with(数据框名,域访问函数1域访问函数2.),例如:with(cars,speed)列表和数据框o数据框编辑1、数据框的合并扩展:cbind()函数:添加数据集的新属性变量。例如:x-cbind(x,距离=c(12,13,11,14,15,11)rbind()函数:增加新的
22、样本数据。例如:x-rbind(x,list(23,34,13)2、删除数据框。x-x,-1#删除第一行数据x-x-1,#删除第一列数据列表和数据框o缺失值处理na.omit函数可以删除数据框内包含NA的相关数据。例如:data-data.frame(a=c(1,2,NA,3),b=c(9:12)na.omit(data)因子一般数据可分为分类和数值两种属性,上面介绍的都是数值类型数据,分类属性类型可分为无序因子(factor)如用户ID用“1”,“2”,“3”表示,没有高低之分。有序因子(ordered)如用户对商品的评分值“A”,”B”,”C”,”D”,”E”。各个类别间存在大小高低顺序。
23、因子的存储类型为整数型(integer),但显示的是类别值,为字符串。无序和有序因子factor因子函数:factor(x,levels=sort(unique(x),na.last=TRUE),labels,exclude=NA,ordered=FALSE)X:向量levels:是因子的水平。如果不指定值,则有向量x内不同的值确定labels:是水平的标签。如果不指定值,则由向量x内不同点的值所对应的字符串确定exclude:在转化时,如果想把向量内某些取值的元素转化为缺失值NA,则设置该参数。ordered:FALSE转化后是无序因子,TRUE有序因子无序和有序因子使用as.factor把
24、一个向量转化为无序因子向量。例如:a-as.factor(c(1,2,3);a,用is.factor判断a是否为因子。例如:is.factor(a),将a1a2会报错,a1=a2正常显示为FALSE,因为无序因子不能进行大于小于的比较,只能进行等于和不等于比较。无序和有序因子使用as.ordered把一个向量转化为有序因子向量。例如:a-as.ordered(c(1,2,3);a,用is.ordered判断a是否为有序因子。例如:is.ordered(a),将a1a2不会报错,因为有序因子可以进行大于小于的比较。可利用levels函数读取和设置因子水平,格式为levels(因子名),level
25、s函数将按因子水平值的升序显示它们对应的类别值。例如:a-c(Poor,Improved,Excellent,Poor);b-as.factor(a);levels(b);levels(b)1 time time.cut time.cut 1 (0,10 (10,30 (10,30 (0,10 (0,10 (0,10 (10,30 (30,60 (0,10 10 (30,60 (10,30 (30,60Levels: (0,10 (10,30 (30,60 time.cut1time.cut2会报错分割区间返回的是无大小意义的因子向量。设置ordered_result=T,则可以比较time.
展开阅读全文