終於把書寫完了

構思了一陣子,幾個月的撰寫,最近終於把書完成了。

當自己寫書的時候,才知道一本書產生的過程頗為繁複,不禁對於過去那些對於人類知識有貢獻的教科書作者產生莫名的敬意。

一本程式語言的書、或是類似的教科書,往往是眾多知識的累積與彙整。由於 R 軟體的函數沒有幾千有也上萬,在寫書的過程中,哪些函數該加入、哪些函數該捨棄,往往是花最多時間之處。

另一個考量點是自己必需回到當初開始學習 R 軟體時,那種知識爆炸、面對眾多資訊不知從何開始的心態,嘗試去站在一個初學者的立場,思考他們該需要些什麼資訊。這種「回到初衷」的心態轉變,往往是許多程式功力高強的書籍作者們最為忽視的。

在寫書期間,我也參考了多份國內外的 R 軟體文件或書籍。滿多這類文件或書籍共通的缺點,是太過精簡,缺乏明確的引導解釋或說明,甚至缺乏相對的程式計算結果陳列,導致讀者必需花時間一一輸入書上的範例程式,才知道一個函數的用途或計算輸出的長相是什麼。因此,我加入了不少比例的程式執行輸出部分,讓初學者能夠不必太花時間在自我驗證或操作,希望能讓他們就能很快決定程式中該不該使用某個函數來完成計算工作。

寫書的時候,才知道書籍的篇幅與內容的詳細程度必需作若干的妥協與平衡,否則可能暴漲成上千頁以上的龐大份量。因此,原本僅是想寫一本 300 頁左右的 R 軟體參考書,最後卻變成將近 500 頁的內容,這也是當初始料未及。

另一方面,R 軟體的程式語言功能與其在統計諸領域的實際應用,原本應該可以分別寫成兩本書,但為顧及初學者的經濟效益,也必需作一個平衡,將這兩個部分都包含在書中。

R 軟體在基本統計、機率計算、迴歸分析、變異數分析等領域的運算函數非常的多,但是在「時間數列」部分,如果想要搭配迴歸解釋變數、或是分析介入模式(Intervention Model)、離群值模式 (Outlier Model) 時,在過去並沒有可以參考的操作方法。在這個部分,我修改並增強了 TSA 這個套件(package),並且自己為這個套件寫了預測函數(predictTSA) 以及額外的兩個離群值模式偵測函數,讓 R軟體在時間數列分析的部分能更完善。也因此原本預計只有 30 頁的時間數列章節,到最後變成 70 多頁。

寫到最後幾章的時候,我突然發現,自己居然需要參考前面幾章已經寫好的內容,不禁莞爾。這本書寫下來,居然自己也是受惠的讀者之一。我想,這樣就已經值回票價了。

書名是「R軟體:應用統計方法」。關於書的詳細資訊,可以在以下網址找到,博客來網路書局好像也已經上架:

http://www.tunghua.com.tw/books_detail.php?oid=8187

包含三層章節的詳細目錄,可以參考以下網頁:

http://steve-chen.net/book/content.html