应用统计分析——R软件实现应用统计分析实验——R软件应用统计分析——R软件实现SPSS:这是一个很受欢迎的统计软件容易操作,输出漂亮,功能齐全,价格合理。对于非统计工作者是很好的选择。应用统计分析——R软件实现SAS:这是功能非常齐全的软件;美国政府政策倾斜(“权威性”)许多美国公司使用。价格不菲,每年交费.即使赠送,条件苛刻尽管现在已经尽量“傻瓜化”,仍然需要一定的训练才可以进入。应用统计分析——R软件实现R软件:免费的,志愿者管理的软件。编程方便,语言灵活,图形功能强大有不断加入的各个方向统计学家编写的统计软件包。也可以自己加入自己算法的软件包.这是发展最快的软件,受到世界上统计师生的欢迎。是用户量增加最快的统计软件。对于一般非统计工作者来说,主要问题是它没有“傻瓜化”。应用统计分析——R软件实现Minitab:这个软件是很方便的功能强大而又齐全的软件,也已经“傻瓜化”,在我国用的不如SPSS与SAS那么普遍。Eviews:这是一个主要处理回归和时间序列的软件。GAUSS:这是一个很好用的统计软件,许多搞经济的喜欢它。主要也是编程功能强大。目前在我国使用的人不多。MATLAB:这也是应用于各个领域的以编程为主的软件,在工程上应用广泛。但是统计方法不多。应用统计分析——R软件实现R的历史S语言在1980年代后期在AT&T实验室开发.R项目由Auckland大学统计系的RobertGentleman和RossIhaka于1995年开始的.它很快得到广泛用户的欢迎.目前它是由R核心发展团队维持;它是一个由志愿者组成的工作努力的国际团队应用统计分析——R软件实现下载R软件应用统计分析——R软件实现R软件的使用1数据描述性统计2回归分析3判别分析4聚类分析5主成分分析6因子分析7应用统计分析——R软件实现基本语法向量矩阵list与data.frame读写数据文件控制语句与自定义函数一.R软件的使用应用统计分析——R软件实现基本语法1.变量使用即定义:变量名区分大小写,也可用中文命名变量赋值可采用4种形式:=,-,-,assign()变量类型自动由变量赋值确定。a=10;b-20;30-c;assign(“d”,40)中国=“中华人民共和国”#生成字符串变量2.注释符号#语句连接符;应用统计分析——R软件实现3.算术运算符:+,-,*,/,^(乘方),%%(模),%/%(整除)4.常用的数学函数有:abs,sign,log,log2,log10,sqrt,exp,sin,cos,tan,acos,asin,atan,cosh,sinh,tanh5.查看帮助help(round)?abs应用统计分析——R软件实现向量1.向量的赋值(一维数组,下标从1开始)a=c(d1,d2,d3,…)间隔为1的等差序列:a:b指定间隔的等差序列:seq(from,to,by)seq(length,from,by)重复序列:rep(vec,times)rep(vec,times,len,each)a=c(3,5,8,10);b=1:10;c=seq(1,10,2);d=seq(-pi,pi,0.2)e=rep(a,3);f=rep(a,2,each=3)随机向量rnorm(10)#10个服从标准正态分布的随机数应用统计分析——R软件实现a=1:5(b=1:5)#同上,只不过显示出来a[2]#取出a中第二个元素a[c(2,4)]=c(4,8)#修改a中第2、4个元素分别为4、8a[-5]#扣除第5个元素取出来a3#判断a中元素是否小于3[1]TRUETRUEFALSEFALSEFALSEa[a3]#取出a中小于3的元素a[6]=12a=a[-c(1,3,5)]#去掉第1、3、5元素.2.向量的下标运算应用统计分析——R软件实现3.向量的长度length(a)应用统计分析——R软件实现matrix(data=NA,nrow=1,ncol=1,byrow=FALSE)A=matrix(1:10,2,5)B=matrix(1:10,2,5,byrow=TRUE)#按行放置元素注意:默认是按列放置元素[,1][,2][,3][,4][,5][1,]12345[2,]678910[,1][,2][,3][,4][,5][1,]13579[2,]246810矩阵(二维数组)应用统计分析——R软件实现x=matrix(rnorm(24),4,6)x[2,1]#第[2,1]元素x[c(2,1),]#第2和第1行x[,c(1,3)]#第1和第3列x[x[,1]0,1]#第1列大于0的元素x[,-c(1,3)]#没有第1、3列的xx[-2,-c(1,3)]#没有第2行、第1、3列的x.1.矩阵的元素访问应用统计分析——R软件实现2.矩阵的维数问题dim(A)#获得维数,返回向量nrow(A),ncol(A)#获得行数和列数rownames(A),colnames(A)#访问各维名称应用统计分析——R软件实现3.向量和数组/矩阵的转化:只要定义向量的维数即可实现向量和数组转化c=1:12;a=matrix(c,nrow=2,ncol=6)dim(c)=c(3,4)b=as.vector(c)A=diag(c(1,4,5))#以向量为对角元生成对角矩阵a=diag(A)#获取矩阵的对角元应用统计分析——R软件实现3.矩阵运算+,-,*,/分别是矩阵内部元素的四则运算向量矩阵间:向量按列匹配与矩阵运算例如:A=matrix(1:6,nrow=3)B=matrix(10:15,nrow=3)C=c(100,200)则:A+BA*BA+C111710521012041319227020210515213690103206应用统计分析——R软件实现A%*%B#乘法t(mat)#转置det(mat)#行列式solve(mat)#逆矩阵eigen(mat)#求特征值与特征向量应用统计分析——R软件实现4.多维数组a=array(data=1:24,dim=c(2,3,4))a[,,1]应用统计分析——R软件实现列表和数据框1.列表是一种特殊的对象集合,各元素类型任意生成:list(name1=value1,…,namen=valuen)访问/修改:对象名[[下标]]或对象名$nameistu=list(age=10,name=“Tom”,interests=c(“swimming”,”drawing”))stu[[2]]stu$namestu$name=“john”names(stu)#得到所有的对象名应用统计分析——R软件实现2.数据框是R的一种数据结构,以矩阵形式保存数据各列类型可以不同,每列为一变量,每行为样品各列长度相等data.frame()stu=data.frame(name=c('Tom','Rose'),age=c(30,32))names(stu)#得到所有的变量名colnames(stu)#列名,同上rownames(stu)#得到行名attach(x)#把数据框中的变量链接到内存中x=data.frame(matrix(1:6,nrow=2))#矩阵转化为数据框应用统计分析——R软件实现x=data.frame(id=101:120,score=round(rnorm(20,70,10)))#取出前两行数据x[1:2,]#选出score60的数据x[x[[2]]60,]应用统计分析——R软件实现读写数据文件1.读表格形式文本文件read.table(file,header=FALSE,sep=““,…)header表示第一行是否有变量名,sep表示数据分割的字符D1=read.table(“e:\\test1.txt”,header=TRUE)D2=read.table(“clipboard”)#从剪贴板中获得文本数据应用统计分析——R软件实现2.计算的数据保存成文本文件或CSV文本文件write.table(data,file=“”)#纯文本格式write.table(D1,file=“e:\\file_1.txt”)应用统计分析——R软件实现1.分支结构单分支:if(条件)语句if(条件){复合语句;}双分支:if(条件)语句1else语句2多分支:if()语句1elseif()语句2…elseif()语句nelse语句n+1x=1;if(x0){a=10;b=10}else{a=20;b=20;}控制语句控制语句与自定义函数应用统计分析——R软件实现2.循环结构for(nameinexpress)expr;while(condition)expr;repeat{exprs;if(达到中止条件)break}例子:计算1^1+2^2+3^3+…+10^10i=1;j=1;k=1;s1=0;s2=0;s3=0;for(iin1:10)s1=s1+i^i;#用forwhile(j=10){s2=s2+j^j;j=j+1;}#用whilerepeat{s3=s3+k^k;k=k+1;if(k10)break}应用统计分析——R软件实现fun-function(arg1,arg2,…){注意:最后一句表达式的值为返回值}myfun=function(k){sum=0;for(iin1:k)sum=sum+i^isum}自定义函数应用统计分析——R软件实现统计量数据中心化与标准化和分布有关数据的图形表示统计图形二.数据描述性统计应用统计分析——R软件实现统计量sum(),max(),min()mean()#平均值median()#中位数var()#方差sd()#标准差cov()#协方差阵,参数为矩阵或数据框cor()#相关系数,参数为矩阵或数据框summary()table()#列联表,统计不同值出现的个数应用统计分析——R软件实现x=c(10,90,71:78)mean(x)mean(x,trim=0.10)A=cbind(c(90,60,70),c(85,66,95))apply(A,1,mean)#对每一行取平均apply(A,2,mean)#对每一列取平均cov(A)cor(A)应用统计分析——R软件实现数据中心化与标准化,1,,;1,,ijjijjjxxxinjpsscale(x,center=TRUE,scale=TRUE)应用统计分析——R软件实现dnorm(x,mean=0,sd=1)#计算正态分布的密度函数pnorm(p,mean=0,sd=1)#计算正态分布的分布函数qnorm(q,mean=0,sd=1)#计算正态分布的分位数rnorm(n,mean=0,sd=1)#计算n个正态分布的随机数其它分布的关键词:unif,exp,chisq,t,f,binom,pois#得到参数为1的指数分布在2的密度函数值dexp(2,1)#产生5个均匀分布U(0,10)的随机数runif(5,0,10)和分布相关应用统计分析——R软件实现抽样样本x=sample(1:20,10)#从1,…,20中随机地不放回抽取10个值作为样本y=sample(1:20,10,replace=TRUE)#从1,…,20中随机地有放回抽取10个值作为样本应用统计分析——R软件实现数据的图形表示x=seq(-10,10,2);y=rnorm(11)plot(x,y)plot(x,y,main=散点图,xlab=横坐标x,ylab=纵坐标y)text(x,y,1:length(x),-1)#写入点序号,第三个参数默认如此plot(x,y,type=o,col=red,pch=2,lty=3)1.散点图plot(x,y,…)应用统计分析——R软件实现type=“p”#散点图,默认type=“l’#绘实线type=