[R語言資源]遇上R語言問題不知道怎麼辦嗎?可以向R語言高手發問,尋求解答的8個地方
18Last Updated on 2023-10-05
寫R程式卡住、不知道R語言的套件怎麼用,R語言討論區、問答網站、社團幫你整理
只要是寫程式,就有可能會卡住,有時候忘記該用哪一個套件、哪一個函數,有時候是遇到抽象問題,不確定該如何轉換成程式邏輯。R語言自然也是如此,例如 ggplot2,有那麼多層的繪圖文法,有時候不小心漏掉部分便滿盤皆輸,還有 stringr,都用 str_() 開頭,真的很容易忘記該用哪個函數。
我整理了 8 個遇上R語言的程式問題時,你可以提問的地方,這些網站橫跨中文與英文,有專攻R語言的版面,也有更廣泛的程式社群;有來者不忌作業考試通包的熱心版友,也有討論品質上乘專業絕倫的討論區,就看你需要哪一個。底下我會按照性質區分,並逐一介紹這些R語言相關的討論版,都是好地方!
R語言專版
台灣R軟體Club
台灣R語言Club是台灣目前以R語言為主題最大的臉書社團,平常主要的文章以提問為主,有上班族問工作時遇到的R語言問題,也有學生拿自己的作業來問,說起來有好也有壞,這邊的版友對於各類問題來者不拒,沒有打出程式碼、只有截圖,或者連截圖都沒有,僅以文字說明,大家都還是會熱心回答。
除了問答以外,版上也會有R語言書籍的交易貼文,以及徵求R語言家教和徵求R語言作業的代筆者。另外,時不時有人分享R語言的新知,運氣好的話,還會有功力深厚的版友貼上跟當下套件發展相關、平常使用的程式碼,例如先前中研院釋出與 python 對接的 CKIP 模型時,就有版友分享該如何以R語言呼叫這個模型,藉此更好地執行繁體中文斷詞相關任務。
PTT R語言版
PTT R_Language 版是另一個尋求答案的地方。這裡發問的門檻略高一些,至少要明確舉出自己遇到的問題,並寫出自己對R的熟悉程度,還有自己遇上問題的R環境(session info)。不過,只要遵守模板的要點,版友幾乎是有問必答。
R語言版上有常駐幾位專家,從最小的函數問題到進階的資料處理思維,再一直到效能、平行運算等等,他們總是不吝於分享經驗。雖然PTT的留言會依照句子長度斷詞,程式碼呈現上不易閱讀,但大家就會利用線上的程式碼暫存平台回答,總之,是一個版友很願意彼此回覆的好地方。
綜合版
大數俱樂部
這個臉書社團由師大全球經營與策略研究所教授何宗武創立與經營。何老師主攻財金與經濟領域,精通R跟Python,著作等身之外,更時常更新維護他開發的R語言套件。值得一提的是,先前何老師主動爭取翻譯R主程式,替台灣奠定了繁體中文版本用詞的基礎。
社團中何老師時常分享R語言相關的內容,最近的主題都以視覺化和實際案例為主,有時也會有其他版友提問;偶爾也會有Python相關的討論。算是台灣R語言Club以外,另一個重要的、會討論R語言的資料科學綜合姓社團。
iT邦幫忙
對學程式的人來說,iT邦幫忙最有名的應該就是它的「iThome 鐵人賽」,每年號召版友一起加入連續三十天不間斷的技術文章撰寫旅程,因為關注的人多、流量不錯,得獎者又有機會出書,因此總能吸引數百甚至近千人參加。iT邦幫忙除了程式寫作以外,也有提問的版面,可以在上面詢問R語言的相關問題。
Dcard數學版
Dcard 上沒有R語言的專版,大家主要都在數學版上發問,也可以追蹤相關標籤。不過相對於上面的其他提問空間,這邊的R語言討論量體較小,可以先考慮去其他版問問題。
Stack Overflow
Stack Overflow 可能是程式託管平台 Github 以外,最多程式設計師出沒的網站了。它本身的宗旨就是程式相關專業的問答網站,針對提問者的困惑,回答者會提出多種解決方案,因此可以看到不同人的思考方式、解題方法,很值得一觀。
不過,這邊的提問門檻相對也高,必須提出「最小、可重複性舉例」(Minimal, Reproducible Example),版友才會願意回答。舉個例子,你可能在用 dplyr 套件時,想要利用 filter() 函數,依照一定條件篩選出你要的列。然而,實際跑程式的時候你發現居然不符你的預期。
如果你在版上說「我想用 filter() 篩選出 2022 年 10 月以後的資料但失敗了。」這樣的說法看似明確,但失敗的表象背後可能有諸多原因,可能是你的大於小於符號寫錯了,可能是你的日期欄位不是 date format,也有可能你的資料本身遇到編碼問題,讀取進來其實那個欄位根本沒有東西等等。因為版友無法通靈出問題的根源,才會要求大家舉出「最小、可重複性舉例」。
不過,這裡的版友可以說是這篇文章介紹的所有地方當中,最專業的一群,跟底下會提到的 Github 套件開發者不相上下,所以討論品質很高。若你的英文能力不錯,又想要腦力激盪,則不妨參考這兒。
統計之都
統計之都(Capital of Statistics)是對岸的統計學社群,網站裡面有一個熱絡的統計論壇。統計之都的創辦人是大神級人物謝益輝 ,他堪稱多工界的王者、開發界的霸主,對R語言的發展貢獻無數,不僅是 knitr, blogdown, bookdown, DT 等套件的作者,同時參與開發 rmarkdown, shiny, leaflet 且作為其主要貢獻者。
將重點拉回統計之都的論壇,這裡兼顧理論和應用知識,要問統計學公式的推導、定理背後的假設,或者是R程式,都是沒有問題的,這裡的人很有耐心。
其他
Github 上套件的 Issues 分頁
最後一個地方比較特別,是 Github 上特定套件的頁面。Github 是程式語言開發者存放、託管程式碼的地方,程式設計師可以在上面觀摩,學習他人如何寫出優雅簡潔的程式碼。此外,Github 也有多人共同協作(collaborate)的功能,小組成員可以集體開發同一項專案。
不僅如此,因為開源文化盛行,很多程式開發者會開放自己開發套件的程式碼,R語言的套件有上傳至 CRAN 的皆是如此。因此,使用者在欣賞之餘,也能發揮 1+1 > 2 的精神,例如看到 bug 直接撰寫補釘修正,或者是協助開發新的功能(feature)。
若你遇到問題百思不得其解,而且 Stack Overflow 上沒人回或者是沒人知道答案,你可以考慮去你遇到問題的套件的 Github,在 issues 分頁中,使用者會留言反映 bug、希望開發功能、建議等等,你可以在那邊提問。
不過,因為套件開發者非常忙碌,身上可能背負好幾個套件要修整、Github上累積數百則通知,所以他們未必有時間回應,有時候會有熱心人士上來幫忙;此外,你的問題若不是 bug 而只是使用上的 problem,可能會被趕回 Stack Overflow,還請多加注意。
隱藏推薦:愛上R語言
如果你逛過這些地方或者發問過,覺得不夠、還想找人交流,那我想向你自我推薦,我是一個R語言愛好者,幾年前進入R的世界後便無法自拔。若你有R語言的相關問題,歡迎在此留言。
若你對R語言的電子書感興趣,可以看這篇我先前寫的文章。以後我會寫更多R語言相關的學習內容,敬請期待!
本文由「愛上R語言」發布,非經允許請勿轉貼。
可以去台灣R軟體Club、PTT R語言版、大數俱樂部、iT邦幫忙、Dcard數學版、Stack Overflow、統計之都發問。
2023-02-28 at 22:05 //
我是R語言新手,想請教您,若我有2班(A班和B班)學生數學成績的資料,分別是
A班: 小明88分,小智75分,小剛80分,小豪79分,小林67分
B班: 龍貓90分,小龍貓88分,煤炭球67分
現在我想要對兩班成績進行標準化,但是B班我希望他是依據A班的平均數和標準差進行標準化,A班我可以直接用scale(A班)的方式進行,但是B班該怎麼做?麻煩您解惑。
2023-03-01 at 00:00 //
Tony 您好,底下提供兩個方法,第一個會用到 scale() 函數,第二個不會,但兩個方法的目的都一樣,同樣希望能計算出 A班的平均值與標準差,這樣就可以自由地套用到B班了。請參考下方程式碼,若有問題請再提出:
# 成績
A <- c(88,75,80,79,67) B <- c(90,88,67) ## 方法一 A_scale <- scale(A) # 平均 A_mean <- attr(A_scale,"scaled:center") # 標準差 A_sd <- attr(A_scale,"scaled:scale") # 計算 (B-A_mean)/A_sd ## 方法二 (B-mean(A))/sd(A)
2023-03-01 at 00:08 //
程式碼的換行有點問題,還不確定是怎樣,希望上面的內容不會太難懂,不好意思
2023-03-01 at 02:19 //
您好
非常感謝您,剛剛有嘗試一下,覺得很實用,但是當我的資料變成多種科目時,好像又跑不出,再麻煩您幫忙,資料如下:
國文 英文 數學 社會
小明 61 77 88 76
小智 70 81 75 77
小剛 78 88 80 77
小豪 65 89 79 85
小林 84 85 67 88
希望B班的同學能依A班的科目進行標準化。
萬分感謝!
2023-03-02 at 00:56 //
Tony 好:
確認一下
A. 小明小智等人都是A班嗎?
B. 依照A班去標準化B班,需要考慮不同科目嗎?還是一視同仁辦理?
2023-03-02 at 00:57 //
其實萬變不離其宗,只要取得出平均跟標準差即可,建議不用使用 scale() 函數,直接用 mean() 跟 sd() 計算就好
2023-05-24 at 15:55 //
I have read your article carefully and I agree with you very much. This has provided a great help for my thesis writing, and I will seriously improve it.
2023-05-31 at 03:49 //
Thank you for your shening. I am worried that I lack creative ideas. It is your enticle that makes me full of hope. Thank you.
2023-06-03 at 12:59 //
Thank you for your shening. I am worried that I lack creative ideas. It is your enticle that makes me full of hope. Thank you.
2023-06-04 at 10:50 //
The point of view of your article has taught me a lot, and I already know how to improve the paper, thank you.
2023-06-07 at 05:26 //
I may need your help. I tried many ways but couldn’t solve it, but after reading your article, I think you have a way to help me. I’m looking forward for your reply. Thanks.
2023-06-18 at 10:16 //
Your article helped me a lot, is there any more related content? Thanks!
2023-06-26 at 12:45 //
Currently it appears like is the top blogging platform available right now. (from what I’ve read)
2023-07-04 at 07:50 //
The article discusses the implications of the research for different industries.
2023-07-15 at 07:28 //
The author provides detailed explanations to support their points.
2023-07-17 at 07:30 //
I like it whenever people get together and share views.
Great site, keep it up!
2023-07-17 at 07:45 //
There is certainly a great deal to learn about this topic.
I like all the points you’ve made.
2023-07-17 at 12:17 //
WOW just what I was looking for. Came here by searching for