《R语言基础》PPT课件.ppt

上传人:牧羊曲112 文档编号:5625954 上传时间:2023-08-03 格式:PPT 页数:127 大小:401KB
返回 下载 相关 举报
《R语言基础》PPT课件.ppt_第1页
第1页 / 共127页
《R语言基础》PPT课件.ppt_第2页
第2页 / 共127页
《R语言基础》PPT课件.ppt_第3页
第3页 / 共127页
《R语言基础》PPT课件.ppt_第4页
第4页 / 共127页
《R语言基础》PPT课件.ppt_第5页
第5页 / 共127页
点击查看更多>>
资源描述

《《R语言基础》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《R语言基础》PPT课件.ppt(127页珍藏版)》请在三一办公上搜索。

1、语言基础,一 R简介二 R语言数据操作基础三 R语言的可视化,一 R 简 介,什么是R?,(1)最受欢迎的数据分析和可视化平台之一(2)首次出现1993,2011年随大数据的爆发而流行起(3)R是一种统计绘图语言,也指实现该语言的软件。它是一种解释型语言,而不是编程语言,也就是说,输入的命令能够直接执行。,为什么选择R?,(1)免费、支持Windows/Mac OS/Linux(2)开源。有强大的工具包,可以贡献自己的工具包(3)可以完成数据分析涉及的几乎所有步骤:,数据获取,数据清理,数据分析,结果报告,发布结果,下载和安装R,The Comprehensive R Archive Netw

2、ork,简称CRAN,提供下载安装程序和应软件包。在R主页 http:/www.r-project.org/选择下载相应的版本。,R程序包,base:包含基本的R函数datasets:包含基本的R数据集stats:包含各类统计函数nlme:包含用于线性和非线性混合效应的建模函数graphics:包含基本图形函数lattice:包含各种格栅函数,用于高级图像的绘制cluster:包含用于各种聚类分析的函数foreign:包含读取各种格式,如SPSS、SAS等格式数据文件函数utils:包含R管理的工具函数rpart:包含建立分类回归树的函数grDevices:包含基本图形设备函数methods:

3、包含关于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 菜单 帮助R

5、函数帮助或者help(函数名):用于查看指定函数的帮助文档 R函数帮助文档通常包括函数的功能说明(参见Description部分)、函数的调用形式(参见Usage部分)、形式参数的含义(Arguments部分)、形式参数的具体取值(Value部分)、调用示例(Examples部分)等主要内容。,R的运行方式,两种运行方式:第一,命令行运行;第二,程序(脚本)运行。脚本运行还可采用非交互方式运行程序,步骤:一、指定R程序所在目录为R的当前工作目录。调用getwd(),即可获得当前目录名。改变目录可在菜单栏中改变,也可以用setwd(“指定目录”)。二、运行当前工作目录中的指定R程序source(

6、“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(对象名))。,向量,创建向量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,向量,向量索引1、下标方式索引。下标始于1而非0。例如:a4)结果为2,3。which.max和which.min用于返回数值型向量中最大和最小元素的下标,例如which.max(a)结果为3,which.min(a)结果为1.3、subset方式索引。可以方便地索引向量、矩阵以及数据框。返回的是元素,不是下标。例如:subset(a,a4c(11,15)%in%a结果为:TRUE FALSE,向量,向量的编辑 向量修改只需要通过索引找到特定元素,然后直接

11、使用-进行赋值即可。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,向量,向量排序1、向量正排序 sort()函数:根据数值大小进行正排序。例如a-c(11:20,c(1:9);sort(a)2、向量倒排序 rev()函数:根据下标进行到排序。例如a-c(1,4,2,6,8);rev(a),向量,向量去重 unique()函数:实现向量的去重。例如:a-c(1,2,1,4,2,4,5,1);unique(

12、a)结果1 2 4 5,向量,缺失值处理na.fail()函数:向量a内包含至少一个NA,返回错误,不包含任何NA,返回原有向量。例如:a)函数:返回删除NA后的向量。例如:b),na.action):返回向量a中元素为NA的下标。is.na()函数:用于判断向量内的元素是否为NA。例如:b-!is.na(a),向量,向量间操作pmin(,.):依次比较向量1至向量n内的各元素。并把较小的元素组成新向量。例如:a,.):依次比较向量1至向量n内的各元素。并把较大的元素组成新向量。pmax(a,b,c)。结果为2 3 9 5 9intersect(,):返回向量的交集。union(,):返回向量

13、的并集。setdiff(,):返回向量的补集。,矩阵和数组,创建矩阵matrix()函数:以向量的形式输入矩阵中的全部元素,使用ncol和nrow可设置矩阵的行和列数。例如a):将矩阵反过来转化为向量。,矩阵和数组,矩阵索引1、使用行列下标来索引。例如: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#以向量形式返回

14、矩阵a第一列的所有元素。,矩阵和数组,矩阵编辑1、矩阵合并。cbind()函数:通过列合并函数将多个已有向量合并成矩阵。例如:x1-c(1:5);x2-c(6:10);cbind(x1,x2)rbind()函数:通过行合并函数将多个已有向量合并成矩阵。例如: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-1,,删除第一行的元素。a,-1删除第一列的元素。,矩阵和数组,矩阵的运算1、一般运算。A C D-ma

15、trix(rnorm(16),4,4)矩阵的加法(A+B)矩阵的减法(A-B)矩阵的各元素的乘法(A*B)矩阵相乘(A%*%C),矩阵和数组,矩阵的运算2、转置矩阵t()函数。例如:t(A)3、矩阵求解solve()例如:求解DX=A中的X,可以使用solve(D,A)4、矩阵的特征值和特征向量eigen()例如:E-eigen(D)$values为方阵的特征值,$vectors为方阵的特征向量,且一一对应。,矩阵和数组,数组创建array()函数:设置位数向量来创建一个多维数组,矩阵可以看成一个2维数组。例如data-array(c(1:30),dim=c(2,5,3);,矩阵和数组,数组索

16、引使用多个下标来索引。例如:data1,2,3,表示对第3个2*5矩阵中第一行第2列元素(23)进行了索引。data,3,则表示由第二维度下标是3的全部元素组成的二维数组。,矩阵和数组,apply函数应用apply函数可以读取多维数组中某个维度的所有数据并应用其它函数进行数据处理。apply(x,MARGIN,FUN),x多维数组array.MARGIN预处理的维数.FUN多维数组中某一维度元素的处理函数。例如:apply(data,3,sum)1(结果为55):用于计算多维数组data中第三维下标为1的所有元素的总和。或者使用sum(data,1)来实现。,列表和数据框,列表的创建list(

17、)函数:创建列表对象。例如:data-list(a=c(1,2,3),b=c(one,tow),c=T,d=c(3i+4,9i-9);data。每列内元素的数据类型和长度可以各不相同,但是相同列中元素的数据类型相同。,列表和数据框,列表索引1、使用列下标来索引。例如:data12、使用列名称来索引。例如:data$a和dataa,列表和数据框,列表编辑1、列表合并。使用c(,)合并和扩展list.注意list(,)不能进行list合并,它是实现list的嵌套。例如:data-c(data,list(e=c(T,T,F,F)2、列表转化为向量unlist()函数。例如:unlist(list(c

18、(1:3),c(one,two),列表和数据框,数据框的创建和名称data.frame()函数:把多个向量建立为一个数据框,并为列设置名称。例如:x1):读取并编辑列名称,如:names(x)names(x)1-体积,列表和数据框,数据框索引1、索引列:使用列下标来索引,例如:x2.使用列名称来索引,例如:x$运费和x运费,读取多列数据可用x,1:2,不可以采用x形式。2、索引行:行下标,,例如:x1:2,3、索引元素:例如:x$运费1,x运费1,x21,x1,24、subset函数索引:例如:subset(x,运费32&运费32&运费=87,体积),列表和数据框,数据框索引1、attach函

19、数:数据框绑定函数,detach函数:数据框的解除。例如:使用R中的自带数据集cars(查看R中的自带数据集用data()函数)attach(cars);speed2、with函数:with(数据框名,域访问函数1域访问函数2.),例如:with(cars,speed),列表和数据框,数据框编辑1、数据框的合并扩展:cbind()函数:添加数据集的新属性变量。例如:x-cbind(x,距离=c(12,13,11,14,15,11)rbind()函数:增加新的样本数据。例如:x-rbind(x,list(23,34,13)2、删除数据框。x-x,-1#删除第一行数据x-x-1,#删除第一列数据,

20、列表和数据框,缺失值处理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”。各个类别间存在大小高低顺序。因子的存储类型为整数型(integer),但显示的是类别值,为字符串。,无序和有序因子,factor因子函数:factor(x,le

21、vels=sort(unique(x),na.last=TRUE),labels,exclude=NA,ordered=FALSE)X:向量levels:是因子的水平。如果不指定值,则有向量x内不同的值确定labels:是水平的标签。如果不指定值,则由向量x内不同点的值所对应的字符串确定exclude:在转化时,如果想把向量内某些取值的元素转化为缺失值NA,则设置该参数。ordered:FALSE转化后是无序因子,TRUE有序因子,无序和有序因子,使用as.factor把一个向量转化为无序因子向量。例如:a-as.factor(c(1,2,3);a,用is.factor判断a是否为因子。例如:

22、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(因子名),levels函数将按因子水平值的升序显示它们对应的类别值。例如:a-c(Poor,Improved,Excellent,Poor)

23、;b-as.factor(a);levels(b);levels(b)1-one;b,连续数据的离散化,cut函数可以把数值类型数据依据间隔区间分段,并返回一个因子序列。cut函数的常用参数为:X:被分割的向量。labels:分割时依据的间隔区间。include.lowest:分割时的最小间隔区间。ordered_result:如果设置为T,则返回有大小意义的因子作为结果,为F,则返回无大小意义的因子作为结果。例如:某网站21名访问者一天内停留的时间数据如表:,连续数据的离散化,代码如下:time time.cut time.cut 1(0,10(10,30(10,30(0,10(0,10(0

24、,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.cut-cut(time,breaks=c(0,10,30,60),ordered_result=T);time.cut1time.cut2,字符串操作,字符串长度length()可以读取向量内元素的数目,但是无法读取一个字符串的实际长度。需要用nchar函数,通过该函数可以读取字符串内部字符数目。例如:data nchar(d

25、ata)1 5,字符串操作,字符串合并与分割1、合并字符串paste(,sep=”),sep:链接多个字符串时,中间的间隔符默认为空格。例如:data-4分50秒;data-paste(网站停留时间:,3小时,data,sep=);data,字符串操作,字符串合并与分割2、分割字符串strsplit依据特定字符串分割为列表,其中分割的字符串不在出现。例如:data-网站停留时间:3小时4分50秒;data-strsplit(data,split=:)。结果:网站停留时间 3小时4分50秒。data-unlist(data);data-strsplit(data,split=小时)。结果为:11

26、 网站停留时间 21 3 4分50秒若要分割结果为11 3 4分50秒,可采用分割的嵌套。例如:data-网站停留时间:3小时4分50秒;data-strsplit(strsplit(data,split=:)12,split=小时);data。提取小时可用:data-unlist(data);h-as.numeric(data1);h,字符串操作,字符串内部字符的读取和替换1、使用substr()函数进行读取和替换字符串substr(x,start,stop)x:字符串或者字符串对象。start:预读取/替换字符串的第一个下标。stop:预读取/替换字符串的最后一个下标。例如:a subst

27、r(a,2,4)1 agh substr(a,2,4)a1 hkkkfff,字符串操作,使用grep()函数读取列表内特定字符串grep(pattern,x)函数可以在字符型列表中(参数x)中找出和特定字符串(参数pattern)匹配的序列编号。如果不匹配,则返回integer(0).其中 pattern可以使字符串,也可以是一个正则表达式。例如:a-list(GET/News.htm HTTP/1.0,GET/feed.html HTTP/2.0);c-grep(.html,a);c 结果为2a-GET/News.htm HTTP/1.0;c-grep(.html,a);cinteger(0

28、)a-GET/News.html HTTP/1.0;c-grep(.html,a);c1 1,字符串操作,使用regexpr()gregexpr()函数读取字符串内特定字符串regexpr(pattern,text)函数可以在字符串x中提取特定字符串pattern的相关信息。其中 pattern可以是字符串,也可以是一个正则表达式。例如:a-GET/News.html HTTP/1.0 feed.html HTTP/2.0;c-regexpr(.html,a);c1 10#第一个和字符串”.html”匹配的起始位置是10attr(,match.length)1 5#第一个和字符串”.html”

29、匹配的字符长度是5attr(,useBytes)1 TRUE#在字符串a中是否有字符串”.html”匹配,答案为TRUE,字符串操作,使用regexpr()gregexpr()函数读取字符串内特定字符串regexpr()函数只查询第一个特定字符,要想多次匹配需要使用gregexpr()函数,例如:a-GET/News.html HTTP/1.0 feed.html HTTP/2.0;c-gregexpr(.html,a);c11 10 29attr(,match.length)1 5 5attr(,useBytes)1 TRUE,字符串操作,使用chartr()函数作字符替换chartr(ol

30、d,new,x)函数直接进行字符替换,old:预被替换的x中的旧字符集合。如果x中不包含old,则返回x,不做处理。new:新补充的字符集合。其长度必须大于旧字符集合。例如:a a a a-chartr(hf,01,a);a1 0ag0111,字符串操作,使用sub()和gsub()函数进行字符串替换chartr()是进行字符替换,sub()和gsub()函数的替换单位是字符串。sub(pattern,replacement,x),pattern:预被替代的字符串,可以使用正则表达式,replacement替换后的字符串。例如:a b-sub(.html,替换,a);b1 GET/News替换

31、 HTTP/1.0 feed.html HTTP/2.0,字符串操作,使用sub()和gsub()函数进行字符串替换sub()函数只对一个”.html”进行替换,要想进行全部替换可以使用gsub()函数,例如:a b-gsub(.html,替换,a);b1 GET/News替换 HTTP/1.0 feed替换 HTTP/2.0,正则表达式,字符类:表示字符集合。aeiou匹配任一英文元音字符,0-9匹配任一个09的数字,a-z匹配任一个小写英文字母,A-Z匹配任一个大写英文字母,a-z0-9A-Z匹配任一个字母、数字、下划线。小数点(.)代表除换行符以外的任意一个字符。查找小数点(.)或者(,

32、)需使用.或者,来表示,正则表达式,限定符*:重复零次或更多次+:重复一次或更多次?:重复零次或一次n:重复n次n,:重复n次或更多次nm:重复nm次例如:http:/,正则表达式,实例:输入数据:GET/News.html HTTP/1.0输出数据:News.htmla b c-substr(a,b1+1,b1+attr(b,match.length)-1)c,常用数据的创建,因子序列创建gl:gl(n,k,length=n*k,labels=1:n,ordered=FALSE),n:因子水平数目,k:重复次数,length向量长度。labels:因子水平的标签。ordered:F无序因子,

33、T有序 gl(3,4,labels=c(one,two,three)1 one one one one two two two two three three three threeLevels:one two three,常用数据的创建,等差序列创建seq:seq(from=1,to=1,by=(to-from)/(length.out-1),from:等差数列的首项数据,to:等差数列的尾项数据by:等差的数值。length.out:产生向量的长度。seq(1,-9)1 1 0-1-2-3-4-5-6-7-8-9 seq(1,-9,length.out=5)1 1.0-1.5-4.0-6.

34、5-9.0 seq(1,-9,by=-2)1 1-1-3-5-7-9 seq(1,by=2,length.out=10)1 1 3 5 7 9 11 13 15 17 19,常用数据的创建,随机抽样sample:simple(x,size,replace),x:整体数据,以向量形式给出size:抽取样本的数目replace:F:不重复size不能大于x长度,T重复size允许大于x长度。sample(c(1:20),size=10)1 16 3 7 4 5 10 9 6 11 20 sample(c(1:20),size=30,replace=T)1 16 4 8 17 18 14 15 6

35、18 5 13 3 18 2 15 12 16 11 8 2 12 16 9 10 13 17 11 1729 9 9,常用数据的创建,重复序列rep:rep(x,n),x:预重复序列,可以使任意数据类型的向量或数值,n是重复的次数。例如:rep(1,9)1 1 1 1 1 1 1 1 1 1 rep(1:3,3)1 1 2 3 1 2 3 1 2 3 rep(c(a,b,c),3)1 a b c a b c a b c rep(as.factor(c(因子1,因子2,因子3),3)1 因子1 因子2 因子3 因子1 因子2 因子3 因子1 因子2 因子3Levels:因子1 因子2 因子3,

36、常用数据的创建,概率分布:正态分布normrnom(n,mean,sd):正态分布随机数的产生函数。n:产生随机数的数目,mean:平均值,sd:标准差。例如:rnorm(10,4,4)1-2.032146-3.095158 7.125617 3.983333 8.099876 9.659488 5.636714 2.944146 1.375316 2.737632pnom(x,mean,sd):正态分布函数F(x)。pnorm(10,4,4)1 0.9331928dnom(x,mean,sd):概率密度函数f(x)。dnorm(10,4,4)1 0.0323794,常用数据的创建,常用的数学

37、函数abs(x):计算x的绝对值sqrt(x):计算x的平方根ceiling(x):计算不小于x的最小整数floor(x):计算不大于x的最大整数trunc(x):截掉x的小数部分round(x,digits=n):计算x四舍五入为n位小数的值signif(x,digits=n):计算x四舍五入为n位数的值sin(x),cos(x),tan(x):计算x的正弦、余弦、正切值log(x,base=n):计算以n为底的x的对数log(x):计算x的自然对数exp(x):计算x的指数函数,常用数据的创建,常用的统计函数mean(x):计算x的均值median(x):计算x的中位数sd(x):计算x的

38、样本标准差var(x):计算x的样本方差range(x):计算x的取值范围max(x):计算x的最大值length(x):计算x包含的元素个数min(x):计算x的最小值sum(x):计算x的总和cumsum(x):计算x的累积和 例如:cumsum(c(1,2,3,4)函数值为:1 3 6 10prod(x):计算x的连乘积quantile(x,probs):计算x在probs分位点上的分位值scale(x):对x做标准化处理(减均值除以标准差),常用数据的创建,其他分布函数泊松分布pois()指数分布exp()Gamma分布gramma()均匀分布unif()二项分布binom()几何分布

39、geom()柯西分布cauchy()logistic分布logis()也可以使用前缀r、p、d,控制流,分支语句if-else分支语句 if(a15)print(ha)else if(a5)print(s)elseprint(k)1 kswitch分支语句 result switch(result,低,正常,高,偏高)1 高,控制流,循环语句for循环 s for(i in 1:100)s print(s)1 5050while循环 s i while(i print(s)1 5050,控制流,循环语句repeat-break循环语句,repeat是无限循环语句,并且会在达到循环条件后使用br

40、eak语句直接跳出循环。s i repeatif(i print(s)1 5050,运算符、函数、过程,运算符数学运算 运算后给出数值结果+,-,*,/,x%y除法运算后的余数 x%/%y整数除法比较运算 运算后给出判别结果(TRUE FALSE),=,=,!=逻辑运算 与、或、非&,|,!,运算符、函数、过程,函数函数形式function(参数名1=参数1,参数名2=参数2,.)func=100)result=-90)result func(x2=1,x1=1100)1 330510,运算符、函数、过程,过程expression函数定义一个过程,类似于function,使用eval函数调用该

41、过程a=10)a-10+aelsea-a2)eval(ex)a#返回400,数据的读写等操作,读取数据1、read.table函数:读文本数据到数据框中。条件:1、第一行数据要可以作为该数据框各个列的名称。2、随后的其他条目是各个列的值,并且每行采用相同的分隔符进行分割。read.table(file,header=FALSE,sep=”,encoding=”unknon”,.)file:字符串,所读文件所在目录。header:F不把数据文件的第一行作为列名称处理,T把数据文件的第一行作为列名称处理。sep:分隔符,encoding:编码,数据的读写等操作,读取数据 f str(f)data.

42、frame:10 obs.of 5 variables:$v1:int 1 1 1 1 1 1 1 1 1 1$v2:int 2 2 2 2 2 2 2 2 2 2$v3:Factor w/1 level aug:1 1 1 1 1 1 1 1 1 1$v4:Factor w/4 levels fri,sat,sun,.:1 1 1 1 2 3 3 4 4 2$v5:num 14.7 18.5 25.9 25.9 19.5 17.9 20.2 26.7 18.7 16.7,数据的读写等操作,读取数据2、read.fwf函数:文件内的数据是固定宽度时使用,参数和read.table相似,多了wi

43、dths参数。read.fwf(file,widths,sep=”t”,as.is=FALSE,.)f f V1 V2 V3 V41 1 2015.02.12 21:01:37 2015.02.12 21:02:49 52 2 2015.02.12 21:01:39 2015.02.12 21:01:57 13 3 2015.02.12 21:01:41 2015.02.12 21:08:29 114 4 2015.02.12 21:01:41 2015.02.12 21:01:45 1,数据的读写等操作,读取数据3、scan函数:读文本数据到向量中,特点:scan可以指定输出变量的数据类型。

44、输出对象可以数据框、向量、矩阵、列表。对于大文件,读取速度回更快。参数:file:字符串,所读文件所在目录。what:在读取后,用于说明各列数据的类型。sep:分隔符。skip:略过不读取前N行数据。nlines:要读取的行数。encoding:编码,常用“utf-8”。na.strings:代表缺失数据的值(转化为NA)。,数据的读写等操作,读取数据 f f1 小明:涵盖了多种行业数据分析中几乎所有的方法,非常好,使用。小红:十分方便得编写函数和程序包,跨平台,可以胜任复杂的数据分析、绘制精美的图形。小白:每个函数都有统一格式的帮助,运行实例。小黑:免费、软件本身及程序包的源代码公开。xff

45、,数据的读写等操作,读取数据3、read.csv函数:读文本数据到数据框中。data.csv data.csv 指标1 指标2 指标3 指标4 指标5 指标6 体重变化1 2.5 9.9 5.5 9.7 3.1 3.4 负2 7.9 7.7 6.1 5.4 4.3 5.1 正3 0.1 5.3 0.9 6.6 4.4 2.1 负4 1.9 8.0 3.8 8.9 0.9 6.3 负5 4.9 2.9 9.9 2.1 2.6 7.9 负6 8.1 1.4 4.5 0.4 2.8 0.8 正,数据的读写等操作,读取数据4、Excel格式文件读取a、使用xlsx包中的read.xlsx函数:格式:r

46、ead.xlsx(file=”Excel文件名”,工作表编号,header=”TRUE/FALSE”,as.data.frame=”TURE/FALSE”),as.data.frame取TRUE表示将数据读入到数据框中,取FALSE则读入到列表中。,数据的读写等操作,读取数据install.packages(xlsx)library(xlsx)f f 指标1 指标2 指标3 指标4 体重变化1 2.5220835 9.912066 5.4737206 9.7089241 负2 7.8588831 7.722865 6.1370925 5.4146995 正3 0.1167192 5.27644

47、6 0.9009019 6.5774960 负4 1.9130081 7.986334 3.7860949 8.8993181 负5 4.9233034 2.889413 9.9380240 2.1456858 负,数据的读写等操作,读取数据4、Excel格式文件读取b、使用RODBC包可以读取Excel格式文件,其核心函数分别为odbcConnectExcel和sqlFetchodbcConnectExcel(dsn)表示打开Excel文件功能,用于指定Excel文件路径。打开后会返回一个文件话柄(channel),后续函数将使用该话柄进行其他操作。操作完之后用close函数关闭该文件。sq

48、lFetch(channel,sqtable)指定读取Excel文件的某个sheet内的数据内容。参数channel是dsn函数的返回值,参数sqtable是sheet名称。返回的是数据框对象。,数据的读写等操作,读取数据 library(RODBC)f-odbcConnectExcel(医疗信息.xlsx)Error in odbcConnectExcel(医疗信息.xlsx):odbcConnectExcel is only usable with 32-bit Windows在32位的系统r语言安装不会报错。,数据的读写等操作,通过键盘读入数据基本形式:对象名 f f1 10 20 30

49、,数据的读写等操作,输出数据1、write函数:对于向量和矩阵数据的输出,一般使用write函数写入某一文件中。基本形式:write(x,file,append=FALSE).X:数据源,一般为向量或矩阵类型的数据对象。file:输出文件。append:F清空file文件内的原有数据,再写入x的内容;T在file文件原有内容的基础上追加写入x的内容。2、write.table以及write.csv函数:一般为列表或数据框类型的数据对象,其基本参数与write类似。,数据的读写等操作,输出数据a write(a,write.txt,ncolumns=2,append=FALSE)列保持一致nco

50、lumns=2,会从列依次写入。不能读行列的名称。通常使用write.table或write.csv可以读行列的名称。write.table(a,write1.txt,append=FALSE,col.names=TRUE,row.names=TRUE),三 R语言的可视化,R绘图基础,R语言绘图函数的分类,R绘图基础,常用的图形设备管理函数,R绘图基础,常用指定图形文件为图形设备的函数不仅图形窗口时一种图形设备,图形文件也是一种设备。在R中,如果希望将图形保存到某种格式的图形文件中,则需指定该图形文件为当前的图形设备。,R绘图基础,图形组成和图形参数R图形由多个部分组成,主要包括主体、坐标轴

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号