您好,欢迎访问三七文档
1语言初步尚军亮曲阜师范大学信息科学与工程学院—数据处理、绘图与编程2报告内容一R简介二函数与对象三R绘图四编写函数五数据保存3一R简介4什么是R?图R绘制的图形•R是一种统计绘图语言,也指实现该语言的软件。TheRProjectforStatisticalComputing5简史R语言是从S统计绘图语言演变而来,可看作S的“方言”。S语言上世纪70年代诞生于贝尔实验室,由RickBecker,JohnChambers,AllanWilks开发。基于S语言开发的商业软件Splus,可以方便的编写函数、建立模型,具有良好的扩展性,在国外学术界应用很广。1995年由新西兰Auckland大学统计系的RobertGentleman和RossIhaka,基于S语言的源代码,编写了一能执行S语言的软件,并将该软件的源代码全部公开,这就是R软件,其命令统称为R语言。6R的特点多领域的统计资源目前在R网站上约有6965个程序包(截止2015.8.5,为什么这么多?为什么这么少?),涵盖了基础统计学、社会学、经济学、生态学、空间分析、系统发育分析、生物信息学等诸多方面。跨平台R可在多种操作系统下运行,如Windows、MacOS、多种Linux和UNIX等。命令行驱动R即时解释(解释性语言),输入命令,即可获得相应的结果。7为什么选择R?•丰富的资源涵盖了多种行业数据分析中几乎所有的方法。•良好的扩展性十分方便得编写函数和程序包,跨平台,可以胜任复杂的数据分析、绘制精美的图形。•完备的帮助系统每个函数都有统一格式的帮助,运行实例。•免费开源软件免费、软件本身及程序包的源代码公开。8R与其他统计软件比较•SAS:速度快,有大量统计分析模块,可扩展性稍差,昂贵。•SPSS:复杂的用户图形界面,简单易学,但编程十分困难。•Splus:运行S语言,具有复杂的界面,与R完全兼容,昂贵。……9R的缺点•用户需要对命令熟悉与代码打交道,需要记住常用命令。•占用内存所有的数据处理在内存中进行(听说,大数据时代,R语言与Hadoop更配哦)•运行速度稍慢即时编译,约相当于C语言的1/20。10图R软件首页简称CRAN,由世界几十个镜像网站组成网络,提供下载安装程序和相应软件包。下载和安装R下载完成后,双击文件开始安装。一直点击下一步,各选项默认,语言建议选英文(工作目录切记使用英文目录)。图R3.2.1下载页面13图R登陆界面(Windows版)路径:开始所有程序R菜单栏快捷按钮控制台光标:等待输入RStudio•R语言集成开发环境1415R程序包在CRAN提供了每个包的源代码和编译好的程序包以CINOEDV包为例,CRAN提供了:Packagesource:CINOEDV_2.0.tar.gzOSX:CINOEDV_2.0.tgzWindowsbinary:CINOEDV_2.0.zipReferencemanual:CINOEDV.pdfWindow下程序包为编译过的zip文件,安装时不要解压缩。16图CINOEDV包页面17安装程序包的方法1用函数install.packages(),如果已经连接到互联网,在括号中输入要安装的程序包名称,选择镜像后,程序将自动下载并安装程序包。例如:要安装CINOEDV包,在控制台中输入install.packages(“CINOEDV)2安装本地zip包路径:Packagesinstallpackagesfromlocalfiles选择本地磁盘上存储zip包的文件夹。18程序包使用程序包的中函数,都要先导入,再使用,因此导入程序包是第一步。在控制台中输入如下命令:library(CINOEDV)library(ade4)程序包内的函数的用法与R内置的基本函数用法一样。19查看程序包帮助文件CINOEDV程序包内部都有哪些函数?分别有什么功能?最常用的方法:1.查看pdf帮助文档2.?CINOEDV(强烈推荐)20查看函数的帮助文件函数的默认值是什么?怎么使用?使用时需要注意什么问题?需要查询函数的帮助。1?PSOSearch2help(“PSOSearch)4help.search(“PSOSearch)5查看R包pdf手册学会搜索已经帮你完成工作的Package学会查看Package及其函数的帮助文件学会Example,照猫画虎实现相关功能21图R帮助文件的内容与格式22二函数与对象23R的函数R是一种解释性语言,输入后可直接给出结果。功能靠函数实现。函数形式:函数(输入数据,参数=)如果没有指定,则参数以默认值为准。例如:平均值mean(x,trim=0,na.rm=FALSE,...)线性模型lm(y~x,data=test)24R的函数每一个函数执行特定的功能,后面紧跟括号(若没有括号?),例如:平均值mean()求和sum()绘图plot()排序sort()除了基本的运算之外,R的函数又分为”高级”和”低级”函数,高级函数可调用低级函数,这里的”高级”函数习惯上称为泛型函数。如plot()就是泛型函数(seeplotexample),可以根据数据的类型,调用底层的函数,应用相应的方法绘制相应的图形。这就是面向对象编程的思想。25R有哪些函数?log()log10()exp()sin()cos()tan()asin()acos()binom.test()fisher.test()chisq.test()friedman.test()mean()sd()var()….远比你想象的要多的多~~26图箱线图修饰前后(左:默认值,右:修改属性后)函数的调用方法,函数名()如plot(),lm(),并将对象放入括号中。R函数调用及其选项27R函数调用及其选项箱线图绘制函数的调用boxplot(day~type,data=bac,col=red,xlab=Virus,ylab=days)day~type,以type为横轴,day为纵轴绘制箱线图。data=bac数据来源baccol=“red”箱线图为红色xlab=“Virus”横轴名称为Virusylab=“days”纵轴名称为days28boxplot函数练习查看boxplot的帮助文件?boxplot查看最后的examples将帮助文件中的内容粘贴到控制台中,运行并查看结果。boxplot(count~spray,data=InsectSprays,col=lightgray)参数更改boxplot(count~spray,data=InsectSprays,col=red,xlab=spray,ylab=counts)29赋值与注释在控制台中键入如下命令2+2a-2-也可用=,甚至-代替b-2d-a+bd(避免用变量c)#注释赋值符号30如何为对象起名?R处理的所有数据、变量、函数和结果都以对象的形式保存。1.区分大小写,注意China和china的不同。2.不能用数字作为变量,对象也不能用数字开头,但是数字可以放在中间或结尾,如2result与result2,后者是合法的。3.建议不要用过短的名称。可以用”.”作为间隔,例如anova.result1。4.不要使用保留名:NA,NaN,pi,LETTERS,letters,month.abb,month.name31元素的数据类型对象是由各元素组成的。每个元素,都有自己的数据类型数值型Numeric如100,0,-4.335字符型Character如“China”逻辑型Logical如TRUE,FALSE因子型Factor表示不同类别复数型Complex如:2+3i32对象的类(class)向量(vector)一系列元素的组合(标量是只含一个元素的向量)。如c(1,2,3)#c():组合函数,向量中数据必须有相同数据类型因子(factor)因子是一个名义型或有序型的分类变量c(a,a,b,b,c)矩阵(matrix)二维的数据表,是数组的一个特例x-1:12;dim(x)-c(3,4)或X-matrix(1:12,nrow=3,ncol=4)[,1][,2][,3][,4][1,]14710[2,]25811[3,]3691233对象的类数组(array)数组是k维的数据表(kin1:n,n为正整数)。向量(n=1)矩阵(n=2)高维数组(n=3)数据框(dataframe)–最常处理的数据结构是由一个或几个向量和(或)因子构成,它们必须是等长的,但可以是不同的数据类型(每一列的数据类型必须唯一)。列表(list)列表可以包含任何类型的对象。可以包含向量、矩阵、高维数组,也可以包含列表(函数的运行结果都是以列表的形式返回)。34运算符数学运算运算后给出数值结果+,-,*,/,^(幂)比较运算运算后给出判别结果(TRUEFALSE),,=,=,==,!=逻辑运算与、或、非!,&,&&,|,||35数据表的行与列低地33220251049样方5低地20260241238样方4山坡45390201146样方3山坡30350261251样方2山顶25600221540样方1类型坡度海拔属数科数物种数行名Rownames字符串列名Columnnames每列可看做带名称的向量数据表、数据框与向量字符串、因子每行作为一个记录36数据框的组成•每个数据表可以看作一个数据框(dataframe)。•每一列(column)作为一个向量(vector)。•由很多不同类型的向量组成,如字符型,因子型,数值型。•每一行(row)作为一个记录(entry)•如何生成数据框?•两种办法:•(1)从外部数据读取•(2)各类型数据组合成数据框37外部数据读取最为常用的数据读取方式是用read.table()函数或read.csv()函数读取外部txt或csv格式的文件。txt文件,制表符间隔csv文件,逗号间隔一些R程序包(如foreign)也提供了直接读取Excel,SAS,dbf,Matlab,spss,systat,Minitab文件的函数。38例:从数据输入到t检验编号123456身高m1.751.801.651.901.741.91体重kg607257909572六名患者的身高和体重现有6名患者的身高和体重,检验体重除以身高的平方是否等于22.5。39第一种方式:从控制台输入数据数据量较少时可以从控制台直接输入:height-c(1.75,1.80,1.65,1.90,1.74,1.91)weight-c(60,72,57,90,95,72)sq.height-height^2ratio-weight/sq.heightt.test(ratio,mu=22.5)40第二种方式从外部读取数据数据量较大时从外部文件读取第1步将Excel中的数据另存为.txt格式(制表符间隔)或.csv格式(逗号间隔)。第2步用read.table()或read.csv()函数将数据读入R工作空间,并赋值给一个对象。41read.table(”位置”,header=T)read.csv(”位置”,header=T)#从外部读取数据data1-read.table(data.txt,header=T)#data1-read.csv(data.csv,header=T)bmi-data1$weight/data1$height^2t.test(bmi,mu=22.5)#t检验第二种方式从外部读取数据42向量、矩阵和数据框的创建有时需要对读入的数据进行操作,将某一向量转换成矩阵,如条件筛选,此时将遇到向量、矩阵和数据框的生成、条件筛选等。43向量的创建四种类型的向量字符型character-c(China,Korea,Japan,UK,USA,France,India,Russia)数值型numeric-c(
本文标题:R语言入门
链接地址:https://www.777doc.com/doc-3508586 .html