用R软件做聚类分析的例子
是用户量增加最快的统计软件。
对于一般非统计工作者来说,主要问题是它没有
“傻瓜化”。
应用统计分析—— R软件实现
Minitab:这个软件是很方便的功能强大而又齐全的 软件,也已经“傻瓜化”,在我国用的不如SPSS 与SAS那么普遍。
Eviews:这是一个主要处理回归和时间序列的软件。 GAUSS:这是一个很好用的统计软件,许多搞经 济的喜欢它。主要也是编程功能强大。目前在我国 使用的人不多。 MATLAB:这也是应用于各个领域的以编程为主的 软件,在工程上应用广泛。但是统计方法不多。
应用统计分析—— R软件实现
一. R软件的使用
基本语法 向量 矩阵 list与data.frame 读写数据文件 控制语句与自定义函数
应用统计分析—— R软件实现
基本语法
1. 变量使用即定义: 变量名区分大小写, 也可用中文命名 变量赋值可采用4种形式:=,<-, ->, assign() 变量类型自动由变量赋值确定。 2.注释符号 # 语句连接符 ;
统计量 数据中心化与标准化 和分布有关 数据的图形表示 统计图形
应用统计分析—— R软件实现
统计量
sum(),max(),min() mean() #平均值 median() #中位数 var() #方差 sd() #标准差
cov() #协方差阵,参数为矩阵或数据框 cor() #相关系数,参数为矩阵或数据框 summary() table() #列联表,统计不同值出现的个数
#按行放置元素
[,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
应用统计分析—— R软件实现
1.矩阵的元素访问 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.
价格不菲,每年交费.即使赠送,条件苛刻
尽管现在已经尽量“傻瓜化”,仍然需要一定的训
练才可以进入。
应用统计分析—— R软件实现
R软件:免费的,志愿者管理的软件。
编程方便,语言灵活,图形功能强大
有不断加入的各个方向统计学家编写的统计软件包。
也可以自己加入自己算法的软件包.
这是发展最快的软件,受到世界上统计师生的欢迎。
应用统计分析—— R软件实现
2. 计算的数据保存成文本文件或CSV文本文件
write.table(data, file=“”)
#纯文本格式
write.table(D1,file=“e:\\file_1.txt”)
应用统计分析—— R软件实现Biblioteka 控制语句控制语句与自定义函数
1. 分支结构 单分支:if(条件) 语句 if(条件) { 复合语句; } 双分支:if(条件) 语句1 else 语句2 多分支:if() 语句1 else if () 语句2 … else if() 语句n else 语句n+1 x=1; if(x>0) {a=10;b=10} else {a=20; b=20;}
应用统计分析—— R软件实现
2. 数据框是R的一种数据结构,以矩阵形式保存数据 各列类型可以不同,每列为一变量,每行为样品
各列长度相等 data.frame( )
stu=data.frame(name=c('Tom', 'Rose'), age=c(30,32)) names(stu) colnames(stu) rownames(stu) attach(x) #得到所有的变量名 #列名,同上 #得到行名 #把数据框中的变量链接到内存中
a=10; b<-20; 30->c ; assign(“d”,40) 中国=“中华人民共和国” #生成字符串变量
应用统计分析—— R软件实现
3. 算术运算符: +,-,*,/,^(乘方),%% (模), %/% (整除)
4.常用的数学函数有:abs , sign , log , log2, log10 , sqrt , exp , sin , cos , tan , acos , asin, atan , cosh , sinh, tanh
应用统计分析—— R软件实现
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(j<=10) {s2=s2+j^j; j=j+1;} #用while repeat { s3=s3+k^k; k=k+1; if(k>10) break }
应用统计分析—— 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)
x=data.frame(matrix(1:6,nrow=2)) #矩阵转化为数据框
应用统计分析—— R软件实现
x=data.frame(id=101:120,score=round(rnorm(20,7 0,10))) #取出前两行数据 x[1:2,] #选出score<60的数据 x[x[[2]]<60,]
应用统计分析—— R软件实现
R的历史
S语言在1980年代后期在AT&T实验室开发. R 项目由Auckland 大学统计系的Robert Gentleman和Ross Ihaka于1995年开始的. 它很快得到广泛用户的欢迎. 目前它是由R核心发展 团队维持;它是一个由志愿者组成的工作努力的国际 团队
应用统计分析—— 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)
5. 查看帮助 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) 随机向量 rnorm(10) #10个服从标准正态分布的随机数 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)
应用统计分析—— R软件实现
下载R软件
学习网站 /pages/newhtm/r/schtml/
应用统计分析—— R软件实现
1
R软件的使用
2 数据描述性统计 3 回归分析
4 判别分析 5 聚类分析
6 主成分分析 7 因子分析
应用统计分析—— R软件实现
读写数据文件
1. 读表格形式文本文件 read.table(file, header=FALSE,sep=“ “,…) header表示第一行是否有变量名,sep表示数据分 割的字符
D1=read.table(“e:\\test1.txt”,header=TRUE) D2=read.table(“clipboard”) 本数据 #从剪贴板中获得文
10 52 22 70 36 90
101 204 202 105 103 206
应用统计分析—— 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软件实现
数据中心化与标准化
x
ij
xij x j s jj
, i 1, , n; j 1, , p
scale(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,
应用统计分析—— R软件实现