APP下载

耳石微化学分析结果的可视化初探

2014-11-11郭弘艺张旭光邵露

中国校外教育(下旬) 2014年9期
关键词:相关分析

郭弘艺+张旭光+邵露

摘要 耳石微化学分析是反演鱼类生活史和推测环境污染等问题的关键技术。采用相关分析,分析微化学测定结果,虽可揭示元素间的相关性,但对于多元素而言,规律解读困难,不具直观性。采用cpairs()和pair()函数生成的散点图矩阵,前者通过图形底色和变量离对角线远近表示变量间相关性高低,后者自动添加元素间的平滑拟合曲线,同时,将元素间相关系数数值标注图形右上角,并以“*”“**”“***”分别表示元素间在0.05水平、0.001水平和0.001水平显著相关。这2个函数在相关分析的基础上,输出结果更为直观、可视。

关键词 微化学 相关分析 cpairs函数 pair函数

一、引言鱼类有三对耳石,分别称之为矢耳石、微耳石和星耳石。鱼类耳石具有代谢惰性,在鱼类生长发育的过程中,水环境中的化学物质通过鱼类鰓呼吸等方式进入血液,然后经过细胞递减传输进入内淋巴结晶后,沉积在耳石上,微量元素一旦沉积,很难被机体再吸收,沉积在耳石中的信息是永久性的。已有研究证明,鱼类的耳石中含有30多种元素。因此,耳石微化学分析是反演鱼类生活史和推测环境污染等问题的关键技术。而长期以来,一般采用相关分析来揭示耳石中元素之间的相互关系。随着R语言的发展,二维散点图矩阵可以更直观、可视的展示变量间的相关关系。本文通过实例介绍R语言中2个实用函数使用,即输出图形格式揭示耳石内元素的相关关系。

二、数据来源表1中为采用同步辐射X射线荧光分析( SRXRF )测定的16尾日本鳗鲡左侧矢耳石内元素的含量。采用相关分析方法和R语言中的cparis()函数和pairs()函数函数分别对数据进行分析。

三、结果和分析

1.相关分析在R界面下,输入命令:> cor(eel[c("Ca","Sr", "Ba", "Fe", "Mn", "Zn","Cr","Ni","Se","Co","Cu","Au")])。图1为元素含量间相关分析结果,数值为相关系数,越是接近1,表明正相关性越高,而越是接近负1,表明负相关性越高。耳石内的Ca-Sr、Ca-Ba、Ca-Fe、Ca-Mn、Ca-Cr、Ca-Se、Ca-Co、Ca-Cu、Ca-Au元素间均为负相关,Ca-Ni、Ca-Zn间为正相关; Sr-Ca和Sr-Ba,以及Sr与铁族元素V、Mn、Fe、Co、Ni,铜族元素Cu、Au间均为负相关,仅Sr-Se间为正相关;3)Ba-Ca,Ba-Sr、Ba-Se间为负相关,Ba与其他元素为正相关;4)铁族元素(V、Fe、Co、Ni)间、铜族元素Cu-Au之间以及铁族元素与锌族元素Zn之间均为正相关。由此可见,相关分析可以得出元素之间的关系,但解读多元素之间的关系,不够直观。

2.cpairs()函数在R界面下,输入命令:> mydata1 <- eel[c(2,3,4,5,6,7,8,9,10,11,12,13)]> mydata1.corr <-abs(cor(mydata1))> mycolors <- dmat.color(mydata1.corr)> myorder <- order.single(mydata1.corr)>cpairs(mydata1,+ myorder,+ panel.colors=mycolors,+ gap=.5,+ main="Variables Ordered and Colored by Correlation",upper.panel=NULL)即生成图2。Cpair()函数是在相关分析结果的基础上,计算耳石内元素相关系数的绝对值,并对相关系数的绝对值排序,排序的基础是相关系数的相似性,最后散点矩阵根据排序顺序绘图,并用红色、蓝色、黄色标出图形底色用于表示变量的相似性远近。可以直观的看出,元素之间离对角线越近,相关性越高,如Fe-Au离主对角线最近,元素相关系数为0.96,相关性极高,底色标为了红色;而Ca-Se离主对角线最远,元素相关系数仅为-0.04,相关系极低,底色标为了黄色。由此可见,Cpair()函数的图形输出结果,可通过颜色和元素离主对角线的位置,直观可视的展示耳石内多元素间的关系。

3.pairs()函数在R界面下,输入命令:> panel.cor <- function(x, y, method="pearson", digits=3, cex.cor=1.2, no.col=FALSE){ usr <- par("usr"); on.exit(par(usr))par(usr = c(0, 1, 0, 1))r <- cor(x, y, method=method)ra <- cor.test(x, y, method=method)$p.valuetxt <- round(r, digits)prefix <- ""if(ra <= 0.1) prefix <- "."if(ra <= 0.05) prefix <- "*"if(ra <= 0.01) prefix <- "**"if(ra <= 0.001) prefix <- "***"if(no.col) { color <- 1if(r < 0) { if(ra <= 0.001) sig <- 4 else sig <- 3 }else { if(ra <= 0.001) sig <- 2 else sig <- 1 } }else{ sig <- 1if(ra <= 0.001) sig <- 2color <- 2if(r < 0) color <- 4}txt <- paste(txt, prefix, sep="\\n")text(0.5, 0.5, txt, cex = cex.cor, font=sig, col=color)> eel.pearson<-cor(eel)> round(eel.pearson,2)> dj.o<-order.single(eel.pearson)> op<-par(mfrow=c(1,1), pty="s")> pairs(eel[,eel.o],lower.panel=panel.smooth,upper.panel=panel.cor,main="Scatter plot Matrix")> par(op)即生成图3。pair()函数生成的散点图矩阵中,元素间的平滑拟合曲线被默认添加,同时,右上角生产2元素间相关分析系数数值,数值标为红色表明元素间为正相关,数值标为蓝色表明元素间为负相关。在相关系数数值下方,元素间如在0.001水平显著相关,添加“***”;在0.01水平显著相关,添加“**”;在0.05水平显著相关,则添加“*”。由此可见,pair()函数的图形输出结果,不仅直观显示双元素间的线性拟合关系,同时,将相关系数以不用的颜色和标记添加在图上,结果直观可视。

四、结论

综上而言,采用相关分析分析微化学测定结果,虽可揭示元素间的相关性,但对于多元素而言,规律解读困难,不具直观性。与之相比,采用R软件中的cpairs()和pair()函数生成的散点图矩阵,在相关分析的基础上,输出结果更为直观、可视,可较好地展示微化学结果。

参考文献:

[1]张亚,郭弘艺,唐文乔.长江口日本鳗鲡幼体矢耳石元素的SRXRF分析[J].上海海洋大学学报,2013,(6):821-827.

[2]Daniel B,Franois G著.赖江山译.数量生态学—R语言的应用[M].高等教育出版社.

[3]Robert I K著.高涛,肖楠,陈刚译. R语言实战[M].人民邮电出版社.endprint

猜你喜欢

相关分析
延边州旅游业客户体验和客户黏度相关性探究
糯玉米支链淀粉含量与蒸煮品质相关分析
海南红毛丹栽培品系果实矿质元素和品质指标的测定与相关性分析
城乡居民医疗费用的相关性与回归分析
宝鸡市区空气质量变化分析
成都市中心城区商服用地基准地价空间演变规律研究