应用统计分析实验R软件分析解析ppt课件.ppt
《应用统计分析实验R软件分析解析ppt课件.ppt》由会员分享,可在线阅读,更多相关《应用统计分析实验R软件分析解析ppt课件.ppt(51页珍藏版)》请在三一办公上搜索。
1、应用统计分析实验 R软件,R软件:免费的,志愿者管理的软件。编程方便,语言灵活,图形功能强大有不断加入的各个方向统计学家编写的统计软件包。也可以自己加入自己算法的软件包.这是发展最快的软件,受到世界上统计师生的欢迎。是用户量增加最快的统计软件。对于一般非统计工作者来说,主要问题是它没有“傻瓜化”。,R免费 资源公开(不是黑盒子,也不是吝啬鬼)R可以在UNIX, Windows和Macintosh运行.R 有优秀的内在帮助系统.R有优秀的画图功能学生能够轻松地转到商业支持的 S-Plus程序(如果需要使用商业软件) R语言有一个强大的,容易学习的语法,有许多内在的统计函数.,通过用户自编程序,
2、R语言很容易延伸和扩大. 它就是这样成长的.R 是计算机编程语言. 类似于UNIX语言,C语言,Pascal,Gauss语言等.对于熟练的编程者, 它将觉得该语言比其他语言更熟悉.而对计算机初学者, 学习R语言使得学习下一步的其他编程不那么困难.那些傻瓜软件(SAS,SPSS等)语言的语法则完全不同.,R的历史,S语言在1980年代后期在AT它是一个由志愿者组成的工作努力的国际团队,下载R软件http:/www.r-project.org,学习网站http:/www.biosino.org/pages/newhtm/r/schtml/,R软件的使用基本语法向量、矩阵 list与data.fra
3、me读写数据文件控制语句与自定义函数二. 数据描述性分析1.分布2.统计量3.一维数据的统计图形4.多维数据的图形表示,R软件,三. 回归分析四. 判别分析五. 聚类分析六. 主成分分析,基本语法,1. 变量使用即定义,变量名区分大小写, 可用中文命名 变量赋值可采用4种形式:=,, assign() 变量类型自动由变量赋值确定。 # 注释符号, 分号; 语句连接符,例子:a=10 aa assign(“a”,10)A=10 AA assgin(ab,200)中国=“中华人民共和国” #生成字符串变量assign(“中国”, “中华人民共和国”) a=10; A=10; a; A,算术运算符:
4、 +,-,*,/,(乘方),% (模), %/% (整除),3.常用的数学函数有:abs , sign , log , log2, log10 , sqrt , exp , sin , cos , tan , acos , asin, atan , cosh , sinh, tanh,4. 查看帮助,例如: help(round), ?abs,向量、矩阵,向量 (一维数组, 下标从1开始) a=c(d1,d2,d3,) 间隔为1的等差序列: a:b 指定间隔的等差序列: seq(from,to,by) seq(length=, from=, by=) 重复函数: rep(vec, times)
5、 rep(vec,times,len=,each=),a=c(3,5,8,10) a=1:10; b=seq(1,10,2); c=rep(a, 2,each=3) a=seq(-pi,pi, 0.2),随机向量 rnorm(10) #10个服从标准正态分布的随机数,z=1:5z7=8;z1 1 2 3 4 5 NA 8 # 缺失数据 NAzc(1,3,5)=1:3; z1 1 2 2 4 3 NA 8 zis.na(z)=0 # 函数is.na()判断数据是否缺失 ,将其为真的赋为0 zz3 # z中小于3的元素z(length(z)-1):length(z) #最后二个元素.z-c(1,3
6、) #去掉第1、3元素.,x=rnorm(10) sort(x) 按从小到大的顺序排列order(x),2. 矩阵(二维数组) 及多维数组 matrix(data=NA, nrow=1, ncol=1, byrow=FALSE, dimnames=NULL) byrow=TRUE 以行序放置,(默认FALSW,以列序) array(data=NA, dim=c(),dimnames=),a=c(1,2,3,4,5,6,7,8,9,10) b=matrix(data=a, nrow=5,ncol=2,byrow=TRUE) c=array(data=1:12,dim=c(2,3,2) ),3.
7、向量和数组/矩阵的转化 只要定义向量的维数即可实现向量和数组转化例如: c=1:12; a=matrix(c, nrow=2,ncol=6) dim(c)=c(3,4);,A=diag(c(1,4,5) #以向量为对角元生成对角矩阵 a=diag(A) #获取矩阵的对角元,b=as.vector(c),d=rbind(a,a) #行合并,要求列数相等e=cbind(a,a) #列合并,要求行数相等,4. 维数问题 dim() #获得维数,返回向量 nrow() ,ncol() #获得行数和列数,rownames(), colnames() #访问各维名称,x=matrix(rnorm(24),
8、4,6)xc(2,1), #第2和第1行x,c(1,3) #第1和第3列x2,1 #第2,1元素xx,n0,n #第n列大于0的元素x,-c(1,3) #没有第1、3列的x.x-2,-c(1,3) #没有第2行、第1、3列的x.,5. 基本矩阵运算 矩阵间四则运算:+,-,*,/ 分别是对应元素的四则运算 向量矩阵间:向量按列匹配与矩阵运算例如: A=matrix(1:6, nrow=3) B=matrix(10:15,nrow=3) C=c(100,200)则: A+B A*B A+C,11 17 10 52 101 204 13 19 22 70 102 20515 21 36 90 10
9、3 206,6. 矩阵运算 转置 t(mat) 行列式 det(mat) 逆矩阵 solve(mat) 特征 eigen(mat) #返回列表(values, vectors) 乘法 A %*% B 向量内积/外积 x %*% y, x %o% y (笛卡尔积) 生成对角 diag(Vec) 取对角 diag(mat) 奇异值分解 svd(mat) mat=UDV 得到列表(d,u,v) qr分解 qr(mat) Choleski分解 chol(mat),列表和数据框,1. 列表是一种特殊的对象集合,各元素类型任意生成: list(name1=value1, , namen=valuen)访问
10、/修改:对象名下标 或 对象名$namei,stu=list(age=10, name=“Tom”, interests=c(“swimming”,”drawing”)stu2stu$namestu$name=“john” names(stu) #得到所有的变量名,2. 数据框是R的一种数据结构,以矩阵形式保存数据各列类型可以不同,每列为一变量,每行为样品 各列长度相等生成: data.frame( ),stu=data.frame(name=c(“john”,”wuji”), age=c(30,32) x=data.frame(matrix(1:6,nrow=2) names(stu) #得
11、到所有的变量名 rownames(stu) #得到行名,attach(x) #把数据框中的变量链接到内存中,x=matrix(1:6,2,3)x=data.frame(x);x X1 X2 X31 1 3 52 2 4 6x$X21 3 4attributes(x)$names1 “X1 “X2 “X3“$row.names1 1 2“$class1 data.frame,x=data.frame(id=101:120,score=round(rnorm(20,70,10)xseq(1,10,2),xorder(x2,decreasing = T ),xx260,数据格式及I/O,读表格形式文
12、本文件 read.table(file, header=FALSE,sep=“ “,) header表示第一行是否有变量名,sep表示数据分割的字符,D1=read.table(“e:test1.txt”,header=TRUE) D2=read.table(“clipboard”),3. 计算的数据保存成文本文件或CSV文本文件 write.table(data, file=“”) #纯文本格式,例:将数据D1写入文件 file_1.txt write.table(D1,file=“e:file_1.txt”),1. 分支结构 单分支:if(条件) 语句 if(条件) 复合语句; 双分支:i
13、f(条件) 语句1 else 语句2 多分支:if() 语句1 else if () 语句2 else if() 语句n else 语句n+1 switch: switch(表达式, list) 返回list中下标与表达式对应的值,例子:x=1; if(x0) a=10;b=10 else a=20; b=20; switch(x, 1:5, 100, 20) # 1 2 3 4 5 这三个构成列表 list,返回 listx,控制语句,2. 循环结构 for (name in express) expr; # expr_s while(condition) expr; # expr_s re
14、peat exprs; if(达到中止条件) break 中止循环语句:break; 跳空循环语句:next;,例子:完成1到100的求和运算 s1=0; j=1; k=1; s2=0; s3=0; for( i in 1:100) s1=s1+i; #或者 while(j100) break ,fun-function(arg1,arg2,) 注意:最后一句表达式的值为返回值,例子:完成一维向量均值运算 mymean mymean=function( x ) sum=0; n=length(x) for(j in 1:n) sum=sum+xj sum=sum/n meanofx=mymea
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 应用 统计分析 实验 软件 分析 解析 ppt 课件

链接地址:https://www.31ppt.com/p-1999923.html