<p>對資料科學家或數據分析師來說,資料量太大、電腦效能不足一直都是個痛,經常要小心翼翼地觀察記憶體使用率是不是快爆炸。然而,就我的觀察,一樣都是撰寫程式,資料科學工作者對於程式碼乾淨、易懂、高效率的追求似乎比其他工程師來得低。(或是我的樣本數不足,以偏概全)</p>

<p>將向量中的物件加上括號或特殊符號,我認為這是一個超級常用的功能,尤其是會在R中直接寫SQL語法的使用者來說,使用頻率更高。如以下範例:</p>

<p>data.table是R語言中非常流行且好用的套件,但是它join的方式不是很直覺。常用的join方式如下表。Cross Join是SQL中的一種Join方式,這個方式會讓資料量瞬間爆增,但某些情況下卻也滿好用的。</p>

<p>宣告及讀取全域變數是個非常實用的功能,常見的用法是寫在function中,以複寫或宣告變數。</p>

<p>資料科學家、數據分析師是近幾年新興,而且熱門的職業,而DataCamp是一個專精於資料科學的程式教學網站。在實務上會用到的各種知識與程式技能,從流程面的網路爬蟲、數據清洗、資料視覺化,到技術面的Python、R語言、SQL,在DataCamp上幾乎都可以找到相關教學。</p>

<p>我一直認為,寫程式的規範與習慣非常重要,同事甚至說我在程式上有潔癖。以這個例子來說,只要變數都採用相同的方式命名,就可以使用pattern抓取環境中有類似名稱的變數。</p>

<p>在R語言中,基本上每個Function只能回傳一個物件,如果希望回傳多個物件,就必須讓回傳物件的資料型態(Data Type)為List或Vector。</p>

<p>在R語言內建的Function中,只有四捨五入(Round),似乎沒有無條件進位或是無條件捨去,這在實務上滿不方便的,所以我們只好自己寫一個。</p>