国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

R語言在分析化學教學中的應(yīng)用

2021-04-09 11:16:02譚巧國
大學化學 2021年2期
關(guān)鍵詞:置信區(qū)間分析化學繪圖

譚巧國

廈門大學環(huán)境與生態(tài)學院,福建 廈門 361102

分析化學由于其定量屬性,涉及大量的計算和統(tǒng)計分析,并常需借助可視化手段展示復(fù)雜概念、過程和方法。因此,在分析化學的教學中,兼具計算和繪圖功能的 Excel軟件成為廣泛采用的教學輔助工具。分析化學的經(jīng)典教材也普遍結(jié)合Excel進行教學[1,2],而且有專著專門講解Excel在分析化學中的應(yīng)用[3,4]。此外,也有文獻零星地介紹其他計算機軟件在分析化學中應(yīng)用,所介紹軟件包括Matlab[5-7],Origin[8]等。

R語言是近年來興起的一門計算機語言,在生物學、生態(tài)環(huán)境科學、經(jīng)濟學、社會科學等各領(lǐng)域都得到了廣泛的應(yīng)用,成為當前最受歡迎的編程語言之一[9,10]。R有比Excel更卓越的數(shù)據(jù)處理和可視化能力,理論上非常適用于分析化學的教學。然而,與其在科學研究中的熱度形成鮮明對比,目前尚未見論文和書籍介紹將R用于包括分析化學在內(nèi)的課程教學。本文列舉數(shù)例,說明R可以在分析化學教學的多個方面得到應(yīng)用。

1 R語言簡介

R語言是一款開源免費的編程語言,主要用于統(tǒng)計分析和數(shù)據(jù)可視化。R最初是由兩位統(tǒng)計學家羅斯·伊哈卡和羅伯特·杰特曼基于S語言開發(fā)而成。由于兩位開發(fā)者名字的首字母都是R,R因此得名。目前R由“R開發(fā)核心團隊”負責維護和開發(fā)[9]。

R的功能可以通過程序包得到擴展。例如本文中繪圖用到了ggplot2程序包,數(shù)據(jù)整理用到了reshape2程序包,而這兩個程序包與其他多個常用的程序包一起又包括在tidyverse程序包中。初次使用時,需運行以下代碼安裝:

install.packages("tidyverse")

除了以上提及的統(tǒng)計分析和繪圖功能,R用于分析化學教學還具有以下幾方面的優(yōu)勢:

R以代碼形式實現(xiàn)計算和作圖,操作過程完整地體現(xiàn)在代碼中。代碼具有自釋性,理論上無需另外的解釋性文字。代碼可以純文本的形式儲存和傳播,操作過程能夠通過代碼精確重現(xiàn)。與此相比,Excel計算過程的展示則必須用到圖片(甚至視頻)結(jié)合繁瑣的步驟說明[11],不僅占用大量儲存空間,而且也不利于教學中的傳播、分享和交流。

R有廣闊的應(yīng)用場景。R作為以數(shù)據(jù)分析和可視化見長的編程語言,是科學研究的有力工具。R借助擴展程序包,不斷發(fā)展出新的功能滿足科研需求。在分析化學的教學中使用R,為學習者接觸掌握這項科研利器提供良好契機,可提高學習者的知識獲得感和實際收益。

R軟件免費,輕便。在寫作本文時,最新版本R 4.0.0的安裝文件僅84 MB。因此便于在不同的場合(如教室、師生的個人電腦等)隨時安裝使用R。與此相比,Matlab等收費軟件不僅價格昂貴,而且需要5-8 GB的安裝空間。

2 R應(yīng)用于分析化學教學舉例

2.1 R應(yīng)用于分析化學計算

在學習化學平衡和滴定分析時,常涉及復(fù)雜的計算。例如,一元弱酸溶液 pH值的計算式是一元三次方程,多元弱酸和其他溶液還會涉及更高次的方程。高次方程不一定存在公式解,即使存在其公式也極為復(fù)雜。因此,直接解高次方程缺乏可操作性。目前教材中常采用忽略次要組分,忽略方程中的次要項等做法,以損失一定的準確度為代價,將高次方程簡化成二次或一次方程進行求解[12]。簡化中涉及多個判別式,判別式因溶液體系而異。這部分內(nèi)容因此記憶負擔較大,常成為學習分析化學的障礙。

R語言可看成一個功能全面的計算器,能執(zhí)行各類科學計算,能用于解決分析化學中的高次方程求解問題。下面舉一例說明求解過程。例題取自柳青和王海水[13]的論文,關(guān)于磷酸溶液pH值的計算。柳青和王海水提出了簡化多元弱酸溶液 pH值計算的新方法,但思路仍然是將高次方程簡化為二次或一次方程。其方法改善了通用性,但過程仍然較為復(fù)雜,仍有較大的記憶負擔。

例 1 已知磷酸(H3A)的 Ka1= 7.6 × 10?3,Ka2= 6.3 × 10?8,Ka3= 4.4 × 10?13,計算 0.20 mol·L?1磷酸溶液的pH。

以上例題可通過執(zhí)行以下 R代碼進行計算。需說明的是#號后是代碼注釋,用于說明代碼的用途,注釋不會被作為代碼執(zhí)行。本文中的代碼在關(guān)鍵處添加了注釋,便于讀者理解。

以上代碼中,起核心作用的是解方程函數(shù)uniroot()。在使用uniroot()時,所輸入的f是H+濃度精確計算式,因溶液體系而異;參數(shù)interval是粗略預(yù)估的方程根的上下限;參數(shù)tol是所允許的誤差。運行以上代碼后,得到結(jié)果:1.45134,因此可知溶液pH值為1.45,與參考文獻中的計算值一致。

運用該方法,除了計算準確,還可以將所有酸堿溶液的 pH值計算都轉(zhuǎn)變?yōu)橥环N方法。計算過程可分為三步:(1) 根據(jù)質(zhì)子得失平衡寫出質(zhì)子條件式;(2) 將式中酸(堿)各型體的濃度都替換成酸(堿)的分析濃度與分布分數(shù)之積,得到關(guān)于[H+]([OH?])的一元高次方程,即以上所用的f;(3) 解高次方程。

此方法只用到質(zhì)子條件式和分布分數(shù)這兩個容易掌握的基本方法,避免了復(fù)雜的判別式和簡化過程,便于理解和記憶。從而使學習者從復(fù)雜的公式和繁瑣的計算中解脫出來,將更多精力用于學習分析化學知識本身。

2.2 R應(yīng)用于分析化學繪圖

R語言另一項特色功能是科學繪圖。圖在分析化學的教學中發(fā)揮著不可或缺的作用,可以將復(fù)雜的概念、溶液體系、反應(yīng)過程等可視化,降低理解難度。例如,分布分數(shù)圖之于化學平衡,滴定曲線圖之于滴定原理,都是極為有效的教學工具。學習者若能自己繪制這些圖,則更能提升學習效果,增加學習樂趣。

以下以多元酸的分布分數(shù)圖和絡(luò)合滴定圖為例,演示如何用將R應(yīng)用于分析化學繪圖,并幫助理解其背后的化學原理。需要說明的是,為了節(jié)省篇幅,以下作圖的R代碼僅保留主干部分,圖的細節(jié)修飾所需代碼未給出。讀者運行以下代碼,可看到圖的主體信息,但格式細節(jié)與文中所示的圖略有區(qū)別。完整作圖代碼獲取方式見文末說明。

2.2.1 分布分數(shù)圖的繪制

三元弱酸磷酸經(jīng)三級解離,得到四種型體。根據(jù)磷酸的三個Ka值,可得到四種型體分布分數(shù)的表達式,并據(jù)此繪制分布分數(shù)圖。以下是繪圖的R代碼:

運行以上代碼,可得到磷酸的分布分數(shù)圖(圖1)。該圖可用于判斷不同pH值條件下,磷酸的主要型體。例如,天然海水的pH約為8.2,因此可判斷海水中的磷酸鹽主要以型體存在。該圖亦可反向用于估算磷酸或磷酸鹽溶液的pH值。例如,可估算KH2PO4和K2HPO4溶液的pH值分別在5和10左右。例1中的問題亦可使用該圖幫助簡化。假設(shè)0.20 mol?L?1的H3PO4溶于水后第一級電離發(fā)生了50% (此比例據(jù)經(jīng)驗粗略估算,無需準確),則溶液pH值為1左右。據(jù)圖1判斷,溶液中幾乎不存在,因此可忽略H3PO4的第二、三級電離,可直接將磷酸當成一元弱酸來處理,大為簡化了其pH值的計算。

圖1 用R繪制磷酸的分布分數(shù)圖

除了一元、多元酸堿的分布分數(shù)圖,其他分布分數(shù)圖,如Cu(NH3)n逐級絡(luò)合物的分布分數(shù)圖,EDTA各型體的分布分數(shù)圖等,亦可按照以上方法繪制。學習者若改變作圖參數(shù)(如Ka值),便可即時看到圖的變化。這樣的過程可以幫助理解穩(wěn)定常數(shù)、解離常數(shù)等如何決定了曲線的形狀,進而理解這些常數(shù)的內(nèi)涵。

2.2.2 滴定曲線的繪制

以下以EDTA絡(luò)合滴定金屬離子M為例,演示如何用R繪制絡(luò)合滴定曲線。絡(luò)合滴定曲線是滴定過程中金屬離子濃度(pM')與滴定分數(shù)(a)之間關(guān)系的曲線,由絡(luò)合滴定曲線方程描述:

在此例中,假設(shè)用0.1000 mol?L?1的EDTA滴定同濃度的金屬離子M,EDTA絡(luò)合M的條件穩(wěn)定常數(shù)K'MY為1.0 × 1014L?mol?1。繪制其滴定曲線圖的R代碼如下:

運行以上代碼,得到絡(luò)合滴定曲線(圖2)。曲線中包含了絡(luò)合滴定的多項信息,這些信息在曲線繪制過程中均得到求解。例如,化學計量點的pM'即滴定分數(shù)a等于1時的pM',為7.65;滴定突躍范圍是滴定分數(shù)a為(100.0 ± 0.1)%對應(yīng)的pM'范圍,為4.30-11.00。通過調(diào)整K'MY和cM的取值,觀察曲線形狀的變化,有助于理解絡(luò)合穩(wěn)定常數(shù)以及金屬離子濃度對于滴定突躍的影響。

圖2 用R繪制的絡(luò)合滴定曲線

此例中所用的方程可以定量描述絡(luò)合滴定的各個階段。對于其他滴定,也能建立類似的方程用于繪制滴定曲線,英文教材中將這類方程稱為“master equation”[14]。此外,還可將滴定過程分為滴定前、化學計量點前、化學計量點、化學計量點后四個階段,將問題簡化,分別計算 pM'和滴定分數(shù)的關(guān)系,并進而繪制曲線。滴定曲線繪制充分運用了化學平衡與滴定的知識,同時使用了R的解方程和繪圖兩項主要功能,適用于教學中的知識講解,但也因此步驟較多。若在日常教學科研中需頻繁繪制滴定曲線,還可所采用R擴展程序包“titrationCurves”一步完成曲線繪制[15]。

2.3 R應(yīng)用于分析化學中的統(tǒng)計分析

定量分析中的誤差不可避免,計算和評估誤差則需要用到統(tǒng)計分析方法。統(tǒng)計分析的理論和方法較為抽象,對其理解有賴于扎實的數(shù)學和統(tǒng)計學基礎(chǔ),因此常成為教和學的難點。分析化學中統(tǒng)計分析的教學應(yīng)有別于數(shù)學、統(tǒng)計學類課程,目標應(yīng)當是準確理解,正確使用,可以淡化數(shù)學推導。R最初是由統(tǒng)計學家開發(fā),其統(tǒng)計學功能齊全而嚴謹,且容易使用。將R運用于分析化學中統(tǒng)計方法的教學,不僅可以幫助學習者掌握數(shù)據(jù)處理的正確方法,還有助于更好地理解相關(guān)的理論和方法。

以下以t檢驗為例,演示如何將R用于分析化學中的統(tǒng)計分析,并結(jié)合可視化的方法幫助學習者理解統(tǒng)計學概念。例題取自武漢大學《分析化學(上冊)》[12]。

例2 采用一種新方法測定基準明礬中鋁的質(zhì)量分數(shù),9次測定結(jié)果為10.74%,10.77%,10.77%,10.77%,10.81%,10.82%,10.73%,10.86%,10.81%。已知明礬中鋁含量的標準值(以理論值代替)為10.77%。采用新方法后,是否引起系統(tǒng)誤差(置信度95%)?

教材上介紹的是常規(guī)方法:由于測定次數(shù)較少,判斷隨機誤差符合t分布。計算t值得到1.43,查t值表得到臨界值t(0.05,8)= 2.31。t值小于臨界值,從而判斷無顯著系統(tǒng)誤差。

運用R語言,無需查表,進行單樣本t檢驗直接得到結(jié)果。具體操作如下:

輸出結(jié)果如下(為節(jié)省篇幅,部分信息省略):

結(jié)果顯示p值為0.2631,大于顯著性水平0.05,因而可判斷新方法的測定值與理論值無顯著差異,亦即新方法未導致顯著的系統(tǒng)誤差。結(jié)果中還給出了測定值的95%置信區(qū)間,即(10.755,10.819),此區(qū)間內(nèi)包含理論值10.77,也表明新方法無顯著系統(tǒng)誤差。

在此基礎(chǔ)上,還可將以上結(jié)果可視化,顯示9次測定值、置信區(qū)間、理論值在坐標軸上的位置(圖3),幫助學習者理解t檢驗及置信區(qū)間的含義。以下是繪制圖3a的代碼:

從圖上可看到各次測定值的位置決定了置信區(qū)間的位置和寬度;置信區(qū)間若將理論值包含在內(nèi),則表明測定值的均值與理論值無顯著差異。為了進一步理解,另外生成一組有系統(tǒng)誤差的數(shù)據(jù)作為對比。將例題中的測定值均減去0.05,并針對這組新數(shù)據(jù)做t檢驗:

結(jié)果顯示p值為0.04266,小于0.05;95%置信區(qū)間為(10.705, 10.768),不包含理論值10.77。表明存在顯著的系統(tǒng)誤差(圖3b)。若將顯著性水平調(diào)為99%,再進行t檢驗:

圖3 用R繪圖對比測定值及其均值的95%置信區(qū)間與理論值

得到結(jié)果 p值仍為 0.04266,雖小于 0.05,但大于新采用的顯著性水平 0.01;99%置信區(qū)間為(10.690, 10.783),比95%置信區(qū)間更寬,包含理論值10.77,表明不存在顯著系統(tǒng)誤差。因此可知,關(guān)于是否存在系統(tǒng)誤差的結(jié)論與置信度的選擇有密切相關(guān)。

除以上的t檢驗外,分析化學教學中涉及正態(tài)分布、t分布、置信區(qū)間的估計、F檢驗、可疑值的取舍、回歸分析等統(tǒng)計分析內(nèi)容均可借助R進行教學。

2.4 R數(shù)值模擬用于解釋復(fù)雜概念

R作為編程語言,有生成符合特定分布的隨機數(shù),進行隨機抽樣等功能,因而可以進行數(shù)值模擬,幫助解釋分析化學中一些復(fù)雜的概念和方法,以下舉一例說明。

例3 測量值m1= 0.00 ± 0.10,測量值m2= 2.00 ± 0.10,則m2與m1之差m的值和標準差是多少?

按照誤差傳遞公式,可以算得m的標準差是(0.102+ 0.102)1/2,即0.14,因此m = 2.00 ± 0.14。誤差傳遞計算并不難,但是誤差傳遞公式的推導過程較為復(fù)雜,學習和理解的難度較高。因此,學習者雖然能夠按照公式算出誤差,但未必能理解誤差傳遞的真正含義。借助R的數(shù)值模擬和可視化,可以幫助學習者克服這一困難。以下針對例題3,進行數(shù)值模擬,得到圖4。

圖4 用R做數(shù)值實驗幫助理解誤差傳遞的原理

從圖4中可知,差值(m2? m1)的離散程度大于m1和m2,但是小于r2,而與r1接近。從R代碼中可知,r2的標準差為m1和m2標準差之和(即0.20);r1的標準差為0.1414,與誤差公式的計算結(jié)果吻合。通過數(shù)值模讓學習者“眼見為實”,驗證了誤差傳遞公式。類似的模擬還可用于其他概念的解釋,如置信區(qū)間、標準偏差的計算公式等[16]。

3 結(jié)語

以上舉例展示了R在分析化學教學中的應(yīng)用。R兼具計算、繪圖、統(tǒng)計、模擬等功能,因此,分析化學中凡是涉及這些功能的內(nèi)容,不限于以上所舉的例子,均可用R輔助教學。R通過代碼實現(xiàn)各項功能,操作過程均體現(xiàn)在文本化的代碼中,便于信息的傳播交流。因此R不僅適用于課堂演示,還便于學習者課后自學。相比于Excel,R在初學時有較為陡峭的學習曲線??紤]到本科生通常在低年級學習過C語言等更為復(fù)雜的編程語言,學習R已經(jīng)有了較好的基礎(chǔ)。目前在高校和學術(shù)界有人數(shù)眾多氣氛活躍的R學習群體,互聯(lián)網(wǎng)上有豐富且優(yōu)質(zhì)的R學習資料,這也為自學R營造了良好的環(huán)境。將R用于分析化學的教與學,也讓學習者有機會在應(yīng)用實踐中學習R,反過來促進R的學習。從分析化學課上學到R的技能,也將有助于其他課程的學習和日后的科學研究。

本文中計算、繪圖等所涉及R代碼的完整版本均可在此鏈接(http://tinyurl.com/y9hh36zq)下載或通過聯(lián)系作者獲取。

猜你喜歡
置信區(qū)間分析化學繪圖
來自河流的你
中國三峽(2022年7期)2022-12-02 05:28:02
“禾下乘涼圖”繪圖人
學與玩(2022年10期)2022-11-23 08:31:08
定數(shù)截尾場合三參數(shù)pareto分布參數(shù)的最優(yōu)置信區(qū)間
分析化學實驗中常見廢液的處理與回收
云南化工(2021年11期)2022-01-12 06:06:44
光化學蒸汽發(fā)生法在分析化學實驗教學中的應(yīng)用
云南化工(2021年9期)2021-12-21 07:44:10
p-范分布中參數(shù)的置信區(qū)間
多個偏正態(tài)總體共同位置參數(shù)的Bootstrap置信區(qū)間
列車定位中置信區(qū)間的確定方法
基于HTML5 Canvas繪圖技術(shù)應(yīng)用
電子測試(2018年4期)2018-05-09 07:28:32
高職分析化學模塊化創(chuàng)新教學開發(fā)與應(yīng)用
怀集县| 芷江| 定州市| 普洱| 凉山| 新乡市| 清苑县| 安阳县| 永宁县| 秦皇岛市| 上饶市| 纳雍县| 太仆寺旗| 肥东县| 聊城市| 宝丰县| 武清区| 白朗县| 固始县| 侯马市| 花莲市| 弥勒县| 东兴市| 黎川县| 都安| 乐陵市| 泊头市| 唐河县| 镇巴县| 嵊泗县| 临桂县| 资溪县| 巫溪县| 和硕县| 黑龙江省| 武胜县| 康保县| 游戏| 富蕴县| 密云县| 同德县|