好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

用R软件做聚类分析的例子.ppt

95页
  • 卖家[上传人]:艾力
  • 文档编号:56460118
  • 上传时间:2018-10-12
  • 文档格式:PPT
  • 文档大小:755.50KB
  • / 95 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 应用统计分析实验 —— R软件,SPSS:这是一个很受欢迎的统计软件 容易操作, 输出漂亮, 功能齐全, 价格合理 对于非统计工作者是很好的选择SAS:这是功能非常齐全的软件; 美国政府政策倾斜(“权威性”) 许多美国公司使用 价格不菲,每年交费.即使赠送,条件苛刻 尽管现在已经尽量“傻瓜化”,仍然需要一定的训练才可以进入R软件:免费的,志愿者管理的软件 编程方便,语言灵活,图形功能强大 有不断加入的各个方向统计学家编写的统计软件包也可以自己加入自己算法的软件包. 这是发展最快的软件,受到世界上统计师生的欢迎是用户量增加最快的统计软件 对于一般非统计工作者来说,主要问题是它没有“傻瓜化”Minitab:这个软件是很方便的功能强大而又齐全的软件,也已经“傻瓜化”,在我国用的不如SPSS与SAS那么普遍 Eviews:这是一个主要处理回归和时间序列的软件 GAUSS:这是一个很好用的统计软件,许多搞经济的喜欢它主要也是编程功能强大目前在我国使用的人不多 MATLAB:这也是应用于各个领域的以编程为主的软件,在工程上应用广泛但是统计方法不多R的历史,S语言在1980年代后期在AT它是一个由志愿者组成的工作努力的国际团队,下载R软件 http://www.r-project.org,学习网站 http://www.biosino.org/pages/newhtm/r/schtml/,基本语法 向量 矩阵 list与data.frame 读写数据文件 控制语句与自定义函数,一. R软件的使用,基本语法,1. 变量使用即定义: 变量名区分大小写, 也可用中文命名 变量赋值可采用4种形式:=,, assign() 变量类型自动由变量赋值确定。

      a=10; bc ; assign(“d”,40) 中国=“中华人民共和国” #生成字符串变量,2.注释符号 # 语句连接符 ;,3. 算术运算符: +,-,*,/,^(乘方),%% (模), %/% (整除),4.常用的数学函数有:abs , sign , log , log2, log10 , sqrt , exp , sin , cos , tan , acos , asin, atan , cosh , sinh, tanh,5. 查看帮助 help(round) ?abs,向量,向量的赋值(一维数组, 下标从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个服从标准正态分布的随机数,a=1:5 (b=1:5) #同上,只不过显示出来 a[2] #取出a中第二个元素 a[c(2,4)]=c(4,8) #修改a中第2、4个元素分别为4、8 a[-5] #扣除第5个元素取出来 a3 #判断a中元素是否小于3 [1] TRUE TRUE FALSE FALSE FALSE a[a3] # 取出a中小于3的元素 a[6]=12 a=a[-c(1,3,5)] #去掉第1、3、5元素.,2.向量的下标运算,3.向量的长度,length(a),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,] 1 2 3 4 5 [2,] 6 7 8 9 10,[,1] [,2] [,3] [,4] [,5] [1,] 1 3 5 7 9 [2,] 2 4 6 8 10,矩阵(二维数组),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列的x x[-2,-c(1,3)] #没有第2行、第1、3列的x.,1.矩阵的元素访问,2. 矩阵的维数问题 dim(A) #获得维数,返回向量 nrow(A) ,ncol(A) #获得行数和列数,rownames(A), colnames(A) #访问各维名称,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) #获取矩阵的对角元,3. 矩阵运算 +,-,*,/ 分别是矩阵内部元素的四则运算 向量矩阵间:向量按列匹配与矩阵运算 例如: 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 202 105 15 21 36 90 103 206,A %*% B #乘法 t(mat) #转置 det(mat) #行列式 solve(mat) #逆矩阵 eigen(mat) #求特征值与特征向量,4.多维数组,a=array(data=1:24,dim=c(2,3,4)) a[,,1],列表和数据框,1. 列表是一种特殊的对象集合,各元素类型任意 生成: list(name1=value1, …, namen=valuen) 访问/修改:对象名[[下标]] 或 对象名$namei,stu=list(age=10, name=“Tom”, interests=c(“swimming”,”drawing”)) stu[[2]] stu$name stu$name=“john” names(stu) #得到所有的对象名,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)) #矩阵转化为数据框,x=data.frame(id=101:120,score=round(rnorm(20,70,10))) #取出前两行数据 x[1:2,] #选出score60的数据 x[x[[2]]60,],读写数据文件,读表格形式文本文件 read.table(file, header=FALSE,sep=“ “,…) header表示第一行是否有变量名,sep表示数据分割的字符,D1=read.table(“e:\\test1.txt”,header=TRUE) D2=read.table(“clipboard”) #从剪贴板中获得文本数据,2. 计算的数据保存成文本文件或CSV文本文件 write.table(data, file=“”) #纯文本格式,write.table(D1,file=“e:\\file_1.txt”),1. 分支结构 单分支:if(条件) 语句 if(条件) { 复合语句; } 双分支:if(条件) 语句1 else 语句2 多分支:if() 语句1 else if () 语句2 … else if() 语句n else 语句n+1,x=1; if(x0) {a=10;b=10} else {a=20; b=20;},控制语句控制语句与自定义函数,2. 循环结构 for (name in express) expr; while(condition) expr; repeat {exprs; if(达到中止条件) break },例子:计算1^1+2^2+3^3+…+10^10 i=1;j=1; k=1; s1=0; s2=0; s3=0; for( i in 1:10) s1=s1+i^i; #用for while(j10) break },fun-function(arg1,arg2,…) { 注意:最后一句表达式的值为返回值 },myfun=function(k ) { sum=0; for(i in 1:k) sum=sum+i^i sum },自定义函数,统计量 数据中心化与标准化 和分布有关 数据的图形表示 统计图形,二. 数据描述性统计,统计量,sum(),max(),min() mean() #平均值 median() #中位数 var() #方差 sd() #标准差 cov() #协方差阵,参数为矩阵或数据框 cor() #相关系数,参数为矩阵或数据框 summary() table() #列联表,统计不同值出现的个数,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),数据中心化与标准化,scale(x, center = TRUE, scale = TRUE),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),和分布相关,抽样样本,x=sample(1:20,10) #从1,…,20中随机地不放回抽取10个值作为样本 y=sample(1:20,10, replace =TRUE) #从1,…,20中随机地有放回抽取10个值作为样本,数据的图形表示,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,…),。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.