书签 分享 收藏 举报 版权申诉 / 127
上传文档赚钱

类型R语言基础课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3008493
  • 上传时间:2022-06-21
  • 格式:PPT
  • 页数:127
  • 大小:401KB
  • 【下载声明】
    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.

    26、cut-cut(time,breaks=c(0,10,30,60),ordered_result=T);time.cut1 data nchar(data)1 5字符串操作o字符串合并与分割1、合并字符串paste(,sep=”),sep:链接多个字符串时,中间的间隔符默认为空格。例如: data-4分50秒;data-paste(网站停留时间:,3小时,data,sep=);data字符串操作o字符串合并与分割2、分割字符串strsplit依据特定字符串分割为列表,其中分割的字符串不在出现。例如:data-网站停留时间:3小时4分50秒;data-strsplit(data,split=:)

    27、。结果:网站停留时间 3小时4分50秒 。data-unlist(data);data-strsplit(data,split=小时)。结果为:11 网站停留时间 21 3 4分50秒若要分割结果为11 3 4分50秒,可采用分割的嵌套。例如:data-网站停留时间:3小时4分50秒;data-strsplit(strsplit(data,split=:)12,split=小时);data。提取小时可用:data-unlist(data);h a substr(a,2,4)1 agh substr(a,2,4) a1 hkkkfff字符串操作o使用grep()函数读取列表内特定字符串grep(

    28、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) a-GET /News.html HTTP/1.0; c-grep(.html,a);c1 1字符串操作o使用regexpr()

    29、gregexpr()函数读取字符串内特定字符串regexpr(pattern,text)函数可以在字符串x中提取特定字符串pattern的相关信息。其中 pattern可以是字符串,也可以是一个正则表达式。例如:a-GET /News.html HTTP/1.0 feed.html HTTP/2.0;c a-GET /News.html HTTP/1.0 feed.html HTTP/2.0;c a a a a a b a b-gsub(.html,替换,a);b1 GET /News替换 HTTP/1.0 feed替换 HTTP/2.0正则表达式o字符类:表示字符集合。aeiou匹配任一英文

    30、元音字符,0-9匹配任一个09的数字,a-z匹配任一个小写英文字母,A-Z匹配任一个大写英文字母,a-z0-9A-Z匹配任一个字母、数字、下划线。小数点(.)代表除换行符以外的任意一个字符。查找小数点(.)或者(,)需使用.或者,来表示正则表达式o限定符*:重复零次或更多次+:重复一次或更多次?:重复零次或一次n:重复n次n,:重复n次或更多次nm:重复nm次例如:http:/ /News.html HTTP/1.0输出数据:News.htmla b c gl(3,4,labels=c(one,two,three) 1 one one one one two two two two three

    31、 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.5 -9.0 seq(1,-9,by=-2)1 1 -1 -3 -5 -7 -9 seq(1,by=2,length.o

    32、ut=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 18 5 13 3 18 2 15 12 16 11 8 2 12 16 9 10 13 17 11 1

    33、729 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常用数据的创建概率分布:正态分布normrnom(n,mean,sd):正态分布随机数的产生函数。n:产生

    34、随机数的数目,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常用数据的创建常用的数学函数abs(x):计算x的绝对值sqrt(x):计算x的平方根ceiling(x):计算不小于x的最

    35、小整数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的样本标准差 var(x):计算x的样本方差range(x):计算x的取值范围max(x):计算x的最大值

    36、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()几何分布geom()柯西分布cauchy()logistic分布logis()也可以使用前缀r、p、d控制流分支语

    37、句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=100)s-s+i;i print(s)1 5050控制流循环语句repeat-break循环语句,repeat是无限循环语句,并且会在达到循环条件后使用break语句直接跳出循环。 s i repeatif(i=100)s-s+i;i print(s

    38、)1 5050运算符、函数、过程运算符数学运算 运算后给出数值结果+, -, *, /, x%y除法运算后的余数 x%/%y整数除法比较运算 运算后给出判别结果(TRUE FALSE), , =, =, !=逻辑运算 与、或、非&, | ,!运算符、函数、过程函数函数形式function(参数名1=参数1,参数名2=参数2,.)func-function(x1,x2=0)temp=100)result=-90)result-9-tempelseresult func(x2=1,x1=1100)1 330510运算符、函数、过程o过程expression函数定义一个过程,类似于function,

    39、使用eval函数调用该过程a-20;b-3ex=10)a-10+aelsea f str(f)data.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.

    40、7 18.7 16.7数据的读写等操作o读取数据2、read.fwf函数:文件内的数据是固定宽度时使用,参数和read.table相似,多了widths参数。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 20

    41、15.02.12 21:01:45 1数据的读写等操作o读取数据3、scan函数:读文本数据到向量中,特点:scan可以指定输出变量的数据类型。输出对象可以数据框、向量、矩阵、列表。对于大文件,读取速度回更快。参数:file:字符串,所读文件所在目录。what:在读取后,用于说明各列数据的类型。sep:分隔符。skip:略过不读取前N行数据。nlines:要读取的行数。encoding:编码,常用“utf-8”。na.strings:代表缺失数据的值(转化为NA)。数据的读写等操作o读取数据 f f1 小明:涵盖了多种行业数据分析中几乎所有的方法,非常好,使用。小红:十分方便得编写函数和程序包

    42、,跨平台,可以胜任复杂的数据分析、绘制精美的图形。小白:每个函数都有统一格式的帮助,运行实例。小黑: 免费、软件本身及程序包的源代码公开。xff数据的读写等操作o读取数据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

    43、 4.5 0.4 2.8 0.8 正数据的读写等操作o读取数据4、Excel格式文件读取a、使用xlsx包中的read.xlsx函数:格式:read.xlsx(file=”Excel文件名”,工作表编号, header=”TRUE/FALSE”,as.data.frame=”TURE/FALSE”),as.data.frame取TRUE表示将数据读入到数据框中,取FALSE则读入到列表中。数据的读写等操作o读取数据install.packages(xlsx)library(xlsx) f f 指标1 指标2 指标3 指标4 体重变化1 2.5220835 9.912066 5.4737206

    44、9.7089241 负2 7.8588831 7.722865 6.1370925 5.4146995 正3 0.1167192 5.276446 0.9009019 6.5774960 负4 1.9130081 7.986334 3.7860949 8.8993181 负5 4.9233034 2.889413 9.9380240 2.1456858 负数据的读写等操作o读取数据4、Excel格式文件读取b、使用RODBC包可以读取Excel格式文件,其核心函数分别为odbcConnectExcel和sqlFetchodbcConnectExcel(dsn)表示打开Excel文件功能,用于指

    45、定Excel文件路径。打开后会返回一个文件话柄(channel),后续函数将使用该话柄进行其他操作。操作完之后用close函数关闭该文件。sqlFetch(channel,sqtable)指定读取Excel文件的某个sheet内的数据内容。参数channel是dsn函数的返回值,参数sqtable是sheet名称。返回的是数据框对象。数据的读写等操作o读取数据 library(RODBC)f-odbcConnectExcel(医疗信息.xlsx)Error in odbcConnectExcel(医疗信息.xlsx) : odbcConnectExcel is only usable with

    46、 32-bit Windows在32位的系统r语言安装不会报错。数据的读写等操作o通过键盘读入数据基本形式:对象名 f f1 10 20 30数据的读写等操作o输出数据1、write函数:对于向量和矩阵数据的输出,一般使用write函数写入某一文件中。基本形式:write(x,file,append=FALSE).X:数据源,一般为向量或矩阵类型的数据对象。file:输出文件。append:F清空file文件内的原有数据,再写入x的内容;T在file文件原有内容的基础上追加写入x的内容。2、write.table以及write.csv函数:一般为列表或数据框类型的数据对象,其基本参数与writ

    47、e类似。数据的读写等操作o输出数据a write(a,write.txt,ncolumns =2,append=FALSE)列保持一致ncolumns =2,会从列依次写入。不能读行列的名称。通常使用write.table或write.csv可以读行列的名称。write.table(a,write1.txt,append=FALSE,col.names=TRUE,row.names=TRUE)三 R语言的可视化R绘图基础oR语言绘图函数的分类R绘图基础o常用的图形设备管理函数 R绘图基础o常用指定图形文件为图形设备的函数不仅图形窗口时一种图形设备,图形文件也是一种设备。在R中,如果希望将图形保

    48、存到某种格式的图形文件中,则需指定该图形文件为当前的图形设备。R绘图基础o图形组成和图形参数R图形由多个部分组成,主要包括主体、坐标轴、图标题、坐标标题四个必备部分1、图形主体部分参数R绘图基础o图形组成和图形参数2、图形坐标轴部分参数R绘图基础o图形组成和图形参数3、图形坐标标题部分参数R绘图基础o图形组成和图形参数4、图标题部分参数R绘图基础o图形组成和图形参数5、图形尺寸、边界和布局参数尺寸参数:pin,单位为英寸(1英寸约2.54厘米),包含两个元素的向量(宽和高)边界:图形四周空白的宽度mai或mar,单位英寸,包含四个元素的向量(依次为下边界、左边界、上边界、右边界)布局:将整个图

    49、形设备划分为几行几列,按怎样的顺序摆放各个图形,各个图形上下左右的边界为多少,等等。使用par()函数,格式:par(mfrow=c(行数,列数),mar=c(n1,n2,n3,n4)或者par(nfcol=c(行数,列数),mar=c(n1,n2,n3,n4)mfrow表示逐行按顺序摆放图形nfcol表示逐列按顺序摆放图形R绘图基础o图形组成和图形参数par函数设置的图形布局较为规整,若使图形更灵活利用layout函数进行布局设置。第一步:定义布局矩阵。布局矩阵采用matrix函数,矩阵元素值表示图形摆放的顺序,0表示不放置任何图形。第二步:设置布局对象。调用layout函数,格式为:lay

    50、out(布局矩阵名,widths=各列图形宽度比,heights=各行图形高度比,respect=TRUE/FALSE)respect取TRUE表示所有图形具有统一的坐标刻度单位,取FALSE则允许不同图形有不同的坐标刻度单位。第三步:显示图形布局。调用layout.show函数,格式为:layout.show(布局对象名)R绘图基础o图形组成和图形参数例如:nf numx1x2x3x3which(x3100)xwrite.table(x,grade.txt,append=FALSE,col.names=FALSE,row.names=FALSE)数值型单变量分布的可视化o茎叶图绘制茎叶图的函

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:R语言基础课件.ppt
    链接地址:https://www.163wenku.com/p-3008493.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库