我發現很多人R的代碼能力實在是太差了,可能都還是在for的那個水平,如果遇到一些批量運算的東西,可能就無從下手了。
之前遇到一個這樣的問題。他有一個基因數據,是一個csv表格,這個表格的第一列是一個group。然後剩下的每一列都是基因,這個同學相對每一個基因和group這一列做一個t.test。
這個其實不太難了,畢竟就是涉及到寫個基礎函數,然後寫個for循環之類的就完事了。但是,在真實的數據中,會遇到很多問題,比如某一組基因數據都是一樣的,比如數據中有缺失值,比如數據樣本不夠,可能都會導致for的計算終止,甚至很多人都看不懂錯誤。
上面還只是一個數據計算問題,如果可以計算,那麼計算出來的結果如何提取、如何保存?
下面是我最後保存出來的結果,並且將每一個錯誤都標記出來:到底是樣本不夠、還是缺失值太多,到底是基因數據不對還是balabala……。
說實話,寫成圖文教程估計也沒人看,寫成代碼估計也很少人會去改動,可能很多人連source都不太會用🚗
這裡面涉及到使用R的下面知識點:
formula形式、t.test的結果的提取、錯誤判斷,如果數據量比較大,還會涉及到計算速度的問題(應該用不用並行?還是使用for,如何加速等問題)。
這些東西就只是為了做一個批量計算基因的t檢驗。
實際上從R小白到會上面的東西,可能大部分人需要十幾天才能做出來,但是很多人等不及。
那麼我寫這個推文真的只是勸退嘛?
不是,我將要發布一個shiny,通過滑鼠,只需要選擇一個文件,然後R就會自動計算,同時返回實時計算的進度,你不需要再考慮上面的一系列數據格式轉換問題。保證電腦連接電源、保證良好的散熱,稍等片刻,我就能讓你的電腦起飛。
也歡迎大家聯繫我,如果遇到一些R上的困難,或者你覺得有什麼難題,或者你覺得一些內容代碼寫起來非常不方便,歡迎分享給我,郵箱是:yuanhzoulvpi@outlook.com
我現在也遇到一個難題,就是逐漸掌握一些技術之後(比如關於R,python,JavaScript一些內容)我沒有地方使用他們,也就是只能基於shiny來做一些交互的工具給大家使用,但是如果沒有使用場景做出來沒人用還是很浪費的,所以,希望大家有啥好的想法,或者說你遇到一些難以解決的東西,希望有更加優雅的解決方式,可以找我,如果效果非常好,會給一定的報酬。歡迎在讀者討論中積極發言💬,或者發郵箱給我:yuanzhoulvpi@outllok.com。
讓大家沒有難用的R代碼🚔