Meiho University · 分析化學/資料科學整合課程

鹽害在牆上寫了什麼?
用 R 把離子層析數據讀懂

古蹟牆面剝落、磚材粉化、石雕起皮 —— 幕後兇手常常是牆體裡的可溶鹽。 這門課從「你完全沒寫過程式」開始,一路帶到能自己完成 離子層析 → 電荷平衡校正 → ECOS/Runsalt 模擬 → 濕度控制建議 的整套分析。所有 R 程式碼都能直接在這個網頁裡執行,不必安裝任何東西。

零程式基礎可入 瀏覽器直接跑 R 真實文資分析流程
10教學單元
3互動實驗室
37測驗題目
0需要安裝的軟體

開始之前

這門課要解決一個真實問題

你拿到一份古蹟牆面的取樣報告:乾樣重 1.000 公克,用 100 毫升去離子水萃取, 離子層析儀吐出七個數字 —— 氯 50 ppm、硝酸根 30 ppm、硫酸根 20 ppm、 鈉 40 ppm、鉀 10 ppm、鈣 15 ppm、鎂 5 ppm。

然後呢?這七個數字沒辦法直接告訴你「這面牆在什麼濕度下會開始長鹽結晶」。 中間隔著三道關卡:單位換算電荷平衡校正熱力學模型模擬。這門課就是帶你把這三道關卡一一打通。

課程使用的分析套件是 SaltsR (Shah、Godts 與 Orr 開發,GPL-3 授權),演算法出自 Godts 等人 2022 年發表於 Scientific Data 的電荷平衡計算方法。

學完之後你會
  • 看懂並自己寫出基本的 R 程式(變數、向量、資料框、函式、迴圈)
  • 把 ppm 正確換算成重量百分比與 mEq/kg,並解釋為什麼要換
  • 判斷一筆數據該走 Pathway 1 還是 Pathway 2,並說明理由
  • 解釋為什麼要把石膏扣掉,以及扣掉之後遺失了什麼資訊
  • 讀 Runsalt 的 RH–莫耳曲線,指出最危險的鹽與最危險的濕度區間
  • 用一行迴圈把整批樣品跑完,並產出可交付的圖表

01 · 主要教材

課程講義:十個單元,由淺入深

每個單元都有可以直接按下「執行」的 R 程式碼,改了數字馬上看到結果。

單元 00

鹽為什麼會把牆吃掉

潮解、結晶壓、水合膨脹三種破壞機制;相對濕度為什麼是關鍵變數;SaltsR 在整個分析鏈上的位置。不寫程式,先把問題想清楚。

單元 01

R 的第一行:把它當計算機

主控台、變數指派 <-、註解、函式呼叫、常見錯誤訊息怎麼讀。這一單元結束時你會寫出人生第一個 R 運算式。

單元 02

向量、資料框與管線

一次處理七個離子而不是複製貼上七次;用 data.frame 裝一整張樣品表;認識 |> 管線運算子。

單元 03

從 ppm 到重量百分比

式 1:w = C×V /(10000×m)。單位是怎麼消掉的、分率與百分比差在哪、為什麼一個小數點會讓結果差 100 倍。自己動手寫第一個函式。

單元 04

當量濃度 mEq/kg:電荷的語言

式 2。為什麼 1 莫耳鈣抵得過 2 莫耳鈉;為什麼談電荷平衡一定要用當量而不是莫耳;七個離子一次算完。

單元 05

電荷平衡與兩條校正路徑

式 3–5:Δe 是什麼、2% 準則怎麼來的、Pathway 1 的等比例縮放 vs Pathway 2 的 Ca→Mg→Na→K 逐級扣除,以及被扣掉的那些電荷跑去哪了。本課程的核心單元。

單元 06

石膏扣除與 ECOS 輸入檔

式 6–11:為什麼熱力學模型不收石膏、min(SO₄, Ca) 的物理意義、莫耳分率怎麼算、飽和度警告什麼時候該相信,以及套件裡一個容易誤讀的欄位。

單元 07

讀進 Runsalt 的輸出檔

寬表變長表、Salt_XSalt_Y 的命名規則、怎麼把混亂的文字檔整理成乾淨的資料框。這是資料清理的基本功。

單元 08

畫圖,然後看懂它

RH–莫耳曲線怎麼讀、結晶點在哪、為什麼混合鹽比純鹽危險、把曲線翻譯成一句「濕度請控制在 X–Y % 之間」的建議。

單元 09

批次處理與綜合實作

八個樣品一次跑完:for 迴圈與 lapply、把結果併成一張表、匯出 CSV,最後寫出一份完整的牆體診斷報告。

02 · 動手玩

互動實驗室:先有感覺,再看公式

不用寫任何程式,拉滑桿就能看到整條計算鏈怎麼跟著動。

實驗室 1

電荷平衡即時模擬器

七個離子濃度滑桿。即時顯示陰陽離子當量長條、Δe、路徑判定,以及 Pathway 2 的 Ca→Mg→Na→K 扣除過程一步步跑給你看。改一個數字,看整條鏈怎麼翻轉。

實驗室 2

Runsalt 曲線判讀器

載入真實的 Runsalt 輸出(20 °C,七個鹽相)。滑動濕度游標,看哪些鹽在該濕度下是固體、哪些已經溶解,並自動列出結晶 RH 排序與風險提示。

實驗室 3

石膏飽和度與稀釋計算機

調整乾樣重與萃取水量,看石膏什麼時候會超過 20 °C 的溶解上限、飽和度警告什麼時候亮起、該稀釋幾倍才可信。

03 · 檢核與資源

測驗、資料與教師資源

自我檢核

37 題分階測驗

四個階段對應課程四大主題,共 37 題。每題作答後立刻回饋、指出該回去複習哪個單元,70 分通過。

資料與腳本

下載區

八個樣品的離子層析數據、Runsalt 範例輸出、各單元的 .R 腳本,以及課堂版 SaltsR 函式庫。可直接在 RStudio 使用。

教師用

教師版解答與帶課建議

全部測驗與練習的解答、每單元的教學重點與常見迷思、時間分配建議、評分要點與延伸作業。

工具連結

真正的分析工具

課程結束後,實際研究請使用官方工具:PREDICT 的鹽含量計算器(最新演算法)、Runsalt 模擬軟體、SaltsR 線上版。

請務必先讀這一段

這是教學用網站。課程裡的 R 函式是 SaltsR 的簡化重寫版, 雖然已用 268 組資料逐項比對、與原套件結果一致(相對誤差 < 10⁻¹³), 但真實的文化資產診斷請使用官方工具與最新演算法。

SaltsR 作者本人也在套件說明中指出:最新的計算請以 PREDICT 鹽含量計算器為準。 這門課的目的是讓你看懂那個計算器在做什麼,而不是取代它。