用R做
生態學
在漁業資源調查中,體長是最容易得到的測量值之一。透過統計體長分布隨時序的變化,我們可以估算魚群(或其他經濟性捕撈動物)的成長速度變化、幼體補充時間等等。奧地利生物學家 Ludwig von Bertalanffy 於 1930 年代發展出了魚類的成長方程式 von Bertalanffy growth function(VBGF)如下:
其中 是年齡為 之體長; 為極限體長(asymptotic length),也是 VBGF 要逼近的目標; 為 的理論年齡,一般在推論時,會假設 ; 為成長參數(growth coefficient); 是自然指數; 為季節性振蕩幅度參數(seasonal oscillation),與年溫差成正比,溫差 1 度相當於變化 0.1 單位,其值介於 0(無振盪)到 1(最大振盪)之間; 為成長曲線起伏變化的起點,其值視生物棲息地的冬季低迷點(winter point,WP)而定,把一年 12 個月換算為 0 到 1 之間,生物一年中成長最慢的時段即為其 WP 所在。在北半球一般為 2 月中旬,即 WP=0.2。
因為 VBGF 估算起來相當複雜,因此聯合國糧食及農業組織(Food and Agriculture Organization)與世界魚類研究中心(International Center for Living Aquatic Resources Management, ICLARM)聯合研發了一套電腦體長頻度分析系統 ELEFAN(Electronic Length Frequency Analysis)提供全球漁業資源估算者來使用,可以搭配一樣是 FAO 推出的軟體 FishStat 系列(現在在他們網頁上的是 FishStatJ)。類似的系統還有 MULTIFAN,搭配 MULTIFAN-CL 軟體使用。
當初為了估算計畫需要的貝類 VBGF,本來想用 MULTIFAN-CL 來做統計,沒想到註冊了之後遲遲沒收到回信,感覺可能沒人維護了,因此想找找在 R 裡有沒有替代的套件。結果還真的找到了一個 TropFishR,由 Taylor 與 Mildenberger 2017 年發表於 Fisheries Management and Ecology 期刊。
用法有教學,大致上分為幾步:
cross.date
、cross.date
兩個參數,最終獲得最符合現狀的反應曲面圖(response surface),決定 VBGF 中的諸多參數。以 2020 至 2021 年的船形薄殼蛤(Laternula marilina (Reeve, 1860),又稱公代)體長資料作為輸入值,這步繪出來的生長曲線如下圖:
lfq$t0
,代表體長為 0 時的時間(將 1 月 1 日到 12 月 31 日化為 0 到 1 來表示),最後會輸出個月的幼體入添比例圖,另外也可以輸出表格,可以了解每個月估計有多少幼體會加入族群。一樣以上面的公代資料為例,最後繪出幼體逐月入添比例:
可以發現公代的幼貝入添比例在圖中呈現一個相當漂亮的單峰,代表每年只有一個入添高峰。
以上是在 R 中進行 ELEFAN 與其他漁業資源統計的簡介,一邊摸索一邊做,也還沒有很了解。若有需要修改或者討論的地方歡迎留言。
🐕🦺 2022.10.25