[关闭]
@omg-two 2017-06-29T16:22:21.000000Z 字数 1398 阅读 1482

R语言绘制相对性关系图

R语言 绘图


准备

第一步就是安装R语言环境以及RStudio

图绘制准备

首先安装库文件,敲入指令,回车

  1. install.packages('corrplot')

然后安装excel导入的插件,点击右上角import Dataset,选中From excel即可。

数据预处理

由于excel导入的数据不是矩阵格式,所以需要把导入的数据转换成矩阵。
假设导入的数据为data,那么可能用到的指令如下:

  1. //查看数据
  2. data
  3. //删除矩阵第一行
  4. data = data[-1,]
  5. //删除矩阵第一列
  6. data = data[,-1]
  7. //data转换成矩阵
  8. data = as.matrix(data)
  9. //更改行名
  10. row.names(data)<-c("OC","EC","SOC","NH4+","NO3","SO42")

存在问题:导入数据格式问题

期望导入的数据格式是矩阵,如下图所示:

实际导入的数据格式如下图:

解决方案:导入数据转换成矩阵流程

  1. data = data[,-1],删除第一列的多余数据,运行结果如下图

  2. data = as.matrix(data),转变成矩阵,运行结果如下图

  3. 虽然变成矩阵了,但是第一列行名有问题。运行代码row.names(data)<-c("OC","EC","SOC","NH4+","NO3","SO42"),运行结果如下图

数据绘图

数据变成矩阵后,运行如下指令,即可得到图片

  1. library(corrplot)
  2. corrplot(corr = data, method = 'color', order ="AOE", addCoef.col="grey")

运行结果如下图所示:

corrplot 的具体参数含义可以参考文献使用R语言绘制其他图形之相关系数图

其中关于颜色的调整参数为col,参考文献An Introduction to corrplot Package
例如

  1. col<- colorRampPalette(c("red","orange", "yellow","green","blue","purple"))(20)
  2. corrplot(corr = data, method = 'color', order ="AOE", addCoef.col="grey",col=col)

运行结果如下:

但是零的部分很丑有木有
同样,关于添加cl.lim参数以及type参数微调优化

  1. col<- colorRampPalette(c("black","blue" ,"purple","green","yellow","orange","red","black","blue" ,"purple","green","yellow","orange","red"))(20)
  2. corrplot(corr = data, method = 'color', order ="AOE", addCoef.col="grey",col=col,cl.lim = c(0,1),type="upper")

运行结果如下:

好了,到此为止基本上相对关系图就绘制完毕了O(∩_∩)O~~
如果想把图绘制的更加炫酷,强烈推荐自习阅读参考文献6,就酱~= ̄ω ̄=~

参考文献

  1. 使用R语言绘制其他图形之相关系数图
  2. R语言中的数据集
  3. R语言定义数据框的行名和列名
  4. r语言中删除数据集中的一列或一行数据
  5. 如何利用已经导入的excel数据和txt数据建立矩阵?
  6. An Introduction to corrplot Package
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注