很多 R 用戶都只覺得自己是初學者,但何謂初學者?
中國人有謙遜的傳統,很多人都會說自己是初學者,但其實很多人都早已超越那個水平。
對我來說,初學者水平就是無法舒適地用 R 去進行任何的工作,無法自行學習 R 的運作。故此,若然你會以上 video 所教的東西,你已經不是初學者。
但由初學者轉為中階用戶( intermediate ),才是最難的部份。
中階用戶的特點是,他能夠有效的自我學習,對 R 工作已感舒適,但仍然有點痛苦。
對中階用戶來說最難的,並不是如何進行 t test 或者 linear regression ,而是普通的數據整理( data munging / data cleansing )作業。
假設數據已經收集好,事實上一般的數據流水線( pipeline ),八成以上的時間都用於數據整理,只有兩成時間用於統計分析、繪圖。
要進行 data munging ,最少要有以下的知識:
從 r-help 或 HKRUG 的問題可見,很多人問的問題都是有關以上的東西,這可能是 R 用戶最大的樽頸位。這些問題困難的原因是初學者會覺得不知如何去問問題,到網上 google 也有困難。讀 R 內建的 documentation ,也會出現很多 computer science 才會讀到的字眼。事實上一般的人都沒有基本的 computer science 訓練。例如 lapply 的 document 有如此一句:
a vector (atomic or list) or an expression object. Other objects (including classed objects) will be coerced by base::as.list.
我當然明白這是甚麼,但一般用戶會明白 expression, classed objects, coerced 是甚麼嗎?
上次有關 HKRUG 的問題的確獲得積極回應。最少 HKRUG 的 Facebook Group 成立了。若果未來有可能在 HKRUG 搞些活動,我想分享的就是如何加強以上的十一點,打好根基。