




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、R语言许美玲初始R语言R的源起R是S语言的一种实现。S语言是由 AT&T贝尔实验室开发的一种用来进行数据探索、统计分析、作图的解释型语言。最初S语言的实现版本主要是S-PLUS。S-PLUS是一个商业 软件,它基于S语言,并由MathSoft公司的统计科学部进一步完善。后来Auckland大学的Robert Gentleman 和 Ross Ihaka 及其他志愿人员开发了一个R系统。R的使用与S-PLUS有很多类似之处,两个软件有一定的兼容性。R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。R是一套完整的
2、数据处理、计算和制图软件系统。其功能包括:数据存储和处理系统;数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的统计制图功能;简便而强大的编程语言:可操纵数据的输入和输入,可实现分支、循环,用户可自定义功能。安装R1 安装R到 找CRAN镜像下载,初次安装选择base 包。2 安装编辑器RStudio到 下载。下载和载入包的方法Tools-Install Packages,然后输入包的名称搜索下载安装。使用library()函数载入包。R的简单使用3+3log(5) #注意这是取自然对数。log10(5) #注意这是取以10 为底的对数。s-rnorm(50);s
3、 #产生50 个服从标准正态分布的随机数。plot(s) #作这些随机数的散点图。abline(1,-0.09) #加一条截距为2,斜率为-0.09 的直线。帮助在需要帮助的关键词前面加?或者?运行寻求帮助。?boxplotboxplot(count spray, data =InsectSprays,col = lightgray)?InsectSprays?vegan把数据输入R数据结构拥有许多用于存储数据的对象类型,包括标量、向量、矩阵、数组、数据框和列表。他们在存储数据的类型、创建方式、结构复杂度等方面均有不同。用c()输入数据x - c (59, 55, 53.5, 55, 52.5
4、, 57.5, 53, 55)#需要查看c中的值,可以输入:x1 #查看第1个值,注意这里是方括号x1:4 #查看前4个值x-3 #查看除了第3个值以外的其它值变量命名规则以字母或者“.”开头,并且“.”开头的名字后的第一个字符只能是下划线(“_”)或字母。x-1#合法.x-1#合法._1-1#合法,但是不推荐使用,因为这样做没有任何好处.1-1#不合法创建向量与向量有关的的函数(1)求向量的最大值、最小值和范围的函数 min(x),max(x),range(x) which.min(x),which.max(x)(2)求和函数、求连乘函数 sum(x) prod(x) length(x) #
5、表示分量的个数产生有序的序列等差数列 a:b a:b+n等间隔函数 seq(from=value1,to=value2,by=value3) seq(from=value1,to=value2,length=n)重复函数 rep(x,times=n); rep(x,each=n)rep(c(Wing, Bone, Head, Weight),c(4,3,2,1) #重复不同的次数缺失数据Wing - c (59, 55, 53.5, 55, 52.5, 57.5, 53, 55)Bone - c(22.3, 19.7, 20.8, 20.3, 20.8, 21.5, 20.6, 21.5)He
6、ad - c(31.2, 30.4, 30.6, 30.3, 30.3, 30.8, 32.5, NA)Weight - c(9.5, 13.8, 14.8, 15.2, 15.5, 15.6, 15.6, 15.7)#注意到Head 有一个缺失值,可以用is.na()检测:is.na(Head) #结果有TRUE,表示有缺失值。mean(Head) #导致计算结果错误mean(Head,na.rm=TRUE)2.2 结合数据变量的各种方法:2.2.1使用cbind()或者rbind()Bird.8 - cbind(Wing, Bone, Head, Weight)Bird.82.2 结合数据
7、变量的各种方法:BirdNames - c(Wing, Bone, Head, Weight)ID2 - rep(BirdNames, each = 8)ID2rep(c(Wing, Bone, Head, Weight),c(4,3,2,1) #重复不同的次数Z - cbind(Wing, Bone, Head, Weight)ZZ,1 #访问Z 的第一列Z1, #访问Z 的第一行Z1,1Z,c(1,3)Z,c(1,-3)#注意这个不可以有dim(Z) #求Z 的维数(即几行几列)Z2 - rbind(Wing, Bone, Head, Weight)Z2 #与前相比转置2.2数据框:使用d
8、ata.frame 函数载入数据Dfm - data.frame(Wi = Wing,Bo = Bone,He = Head, We = Weight)Dfm1 - data.frame(Wi = Wing,Bo = Bone,He = Head, We =Weight,wq=sqrt(Weight)Dfm1 #可以加入其它因子#c()函数中生成的变量和数据框中的变量属于不同的实体,比如:rm(Weight)Weight #将找不到对象Dfm$We #但在数据框中还存在,注意这里出现了$,其用法很重要。列表:使用list 函数结合数据#list 函数可以包含各种类型的变量,多样的形式为使用其它
9、函数提供了方便。DataAll - list(Bird.8, ID, Z, BirdNames)DataAllDataAll - list(Birddata=Bird.8, ID=ID, Z=Z, BirdNames=BirdNames)DataAll #此时标识比较清楚。但注意list 函数中只能用“=”,不能用“-”多维数组和矩阵将向量定义成数组向量只有定义了维数向量(dim属性)后才能被看做数组 例如: z-1:12 dim(z)-c(3,4) array()函数构造多维数组 例如: x-array(1:20,dim=c(4,5)用matrix()函数构造矩阵matrix(data=NA
10、, nrow=1, ncol=1, byrow=FALSE,dimnames=NULL) #构造一个35 阶的矩阵:A-matrix(1:15,nrow=3,ncol=5,byrow=TRUE) #默认是按列。 ,1 ,2 ,3 ,4 ,51, 1 2 3 4 52, 6 7 8 9 103, 11 12 13 14 15A2,; A,2; A1,3; A1,c(4,5)矩阵运算转置:t(A)求方阵的行列式:det(matrix(1:4,ncol=2)向量的内积:x%*%y #即乘起来相加。 crossprod(x,y) #和上式一样求内积。向量的外积:x%o%y #中间为字母“o”。 out
11、er(x,y) #和上式一样求外积。矩阵运算矩阵乘法:#定义维数之后形成矩阵。B-array(9:1,dim=(c(3,3)A*B #不是通常意义的矩阵乘法!A%*%B #这才是矩阵的乘法;crossprod(A,B) #表示的是t(A)%*%B#生成对角阵和取对角:diag(A) #当A 是矩阵时。diag(c(1,4,5) #当应用于向量时。矩阵运算生成对角阵和取 diag(A) #当A 是矩阵时。diag(c(1,4,5) #当应用于向量时。解线性方程组Ax=b:A=t(array(c(1:8,10),dim=c(3,3) #注意t.A;b-c(1,1,1)x-solve(A,b);x
12、#解线性方程组。B-solve(A);B #求A 的逆矩阵。与矩阵相关的函数矩阵维数 dim(A); nrow(A);ncol(A)矩阵的合并:使用cbind()或者rbind。 x1-rbind(c(1,2),c(3,4)矩阵的拉直:使用as.vector(A) A-matrix(1:6,nrow=2);A与矩阵相关的函数10 九月 202226 apply函数 apply(A,MARGIN,FUN,) A数组;MARGIN固定某些维不变;FUN用来计算的函数 与矩阵相关的函数10 九月 202227矩阵维数 dim(A); nrow(A);ncol(A)矩阵的合并:使用cbind()或者r
13、bind。 x1-rbind(c(1,2),c(3,4)矩阵的拉直:使用as.vector(A) A-matrix(1:6,nrow=2);A列表10 九月 202228列表的引用10 九月 202229列表名下标lst4 1 4 7 9列表名“元素名” lstname 1 Fred列表名$元素名lst$name 1 Fred数据框的引用10 九月 202230attach() 函数向量向量是用来存储一维数组的,其中的数据必须具有相同的数据类型,用c()来创建向量。x-c(1,2,3,4,5,6)x-c(1:10)x-c(1:10,Jane)class(x)#产看变量的数据类型x-c(1:10
14、)x1x-1x0#返回的是一个和x类型相同的空对象。x11#返回NA值矩阵矩阵是用来存储二维数组的,其中的数据必须具有相同的数据类型,用函数matrix来创建向量。matrix(data=NA,nrow=1,ncol=1,byrow=FALSE,dimnames=NULL)a-matrix(1:12,nrow=4,ncol=3,byrow=FALSE)a1a1,2a-matrix(1:12,nrow=4,ncol=3,byrow=TRUE)a-matrix(1:12,nrow=4,ncol=4,byrow=FALSE)数组数组可以看成矩阵的一个扩展,数据的维度可以更高。通过函数array来创建
15、。array(data=NA,dim(length(data),dimnames=NULL)a-array(1:24,dim=c(3,4,2)a1,1,a1,1,1a=array(c(1:8,10),dim=c(3,3)因子对于非连续型变量使用因子来描述。在R中创建和改变因子会用到两个函数:factor,levelsfactor(x = character(), levels, labels = levels, exclude = NA, ordered = is.ordered(x), nmax = NA)chr-c(R,Python,R,Ruby,Lisp,R)f-factor(chr)class(f)storage.mode(f)#存储模式,f按照整数存储的。levels(f)列表列表通过函数list来创建。list(x1,x2,x3,)i-1v-c(1:10)ch-c(Jane,Justin)a-array(data=1:12,dim= c(2,3,4)li-list(i=i,v=v,ch=ch,a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国亚麻坯布行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国乳酸链球菌素行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国书画行业市场现状分析及竞争格局与投资发展研究报告
- 2025-2030中国三氯氢硅市场供应需求分析与未来投资走势建议研究报告
- 2025-2030中国丁腈检验手套行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国PDP平板显示器行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国LED日光灯行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国96孔微孔板行业市场发展趋势与前景展望战略研究报告
- 2025-2030一次性塑料围裙行业市场现状供需分析及投资评估规划分析研究报告
- 团队决策中的集体智慧计划
- 地理知识介绍课件
- 民航国内航空汇编航路_3.1.8w系列航线
- 高数常微分方程-高阶微分方程
- 竹里馆ppt课件
- 柴油机结构原理
- 【最新】中考历史专题复习 中外科技发展课件 新人教-新人教初中九年级全册历史课件
- 医院卒中质量控制考核方案
- 最新文字学试题(1)(共8页)
- 粗钨丝拉丝石墨乳的运用研究和选用
- ISO22716:2007标准(中英文对照SN T2359-2009)47
- SAE-J2412测试标准
评论
0/150
提交评论