当前位置:   article > 正文

R语言-多元统计学分析课程报告_r语言课程设计报告

r语言课程设计报告

本文我们应用的软件为R语言,进行多元统计分析,所用的数据集为鸢尾花数据集;我们进行了Bayes判别、Fisher判别、系统聚类法、k-均值聚类和主成分分析。

  1. # 导入鸢尾花数据集
  2. data<-read.csv("E:/数学专业/多元统计学上机作业/iris.csv",header=T)
  3. iris<-data[,-6]
  4. # 分析变量之间的关系
  5. data1<-as.matrix(data[,-c(5,6)]) # 去除最后一行符号行

我们首先画出变量之间的散点图:

  1. # 画出变量之间的散点图
  2. pairs(data1)

紧接着我们运用Fisher判别:

  1. # Fisher判别
  2. head(data)
  3. by(data[,1:4],data[,5],colMeans) # 比较三类鸢尾花在4个变量上的均值
  4. library(MASS)
  5. z<-lda(species~.,data[,-6],prior=c(1,1,1)/3) # Fisher判定,设定三个类别的先验概率均为1/3
  6. z
  7. iris.lda.values<-predict(z) # 对现有样本进行预测
  8. ldahist(data=iris.lda.values$x[,1],g=iris$species) # 输出在第一方向上,三个类别投影的直方图
  9. ldahist(data=iris.lda.values$x[,2],g=iris$species)

可以得到结果为 :

 

 紧接着应用Bayes判别,将数据分为训练集与测试集可以得到准确率吧达到97%。

在应用k-均值聚类,得到

  1. # k-means聚类
  2. install.packages("factoextra")
  3. library(ggplot2)
  4. library(factoextra)
  5. library(cluster)
  6. kmeans(data1[,1:4],3,nstart = 100) # 使用足够大的nstart,更容易得到对于最小的RSS值得模型

画出碎石图,可以知道我们将样本分为三类是最好的结果,这一结果也符合我们数据的本来特性。

 

最后用主成分分析可以得到 

 

 

 

  1. # 主成分分析
  2. PCA1<-princomp(data1,cor=T)
  3. summary(PCA1,loadings=T)
  4. samplePC<-round(PCA1$scores,3) # 取样本主成分得分后3位
  5. round(predict(PCA1),3)
  6. screeplot(PCA1,type='lines') # 画碎石图
  7. plot(samplePC[,1],samplePC[,2],xlab='大小因子',ylab='体型因子')
  8. text(samplePC[,1],samplePC[,2],1:30,adj=-0.5,cex=0.8)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/413376
推荐阅读
相关标签
  

闽ICP备14008679号