如何編寫高效的 R 語言程式?

時間 2021-05-29 23:46:00

1樓:HopeR

使用tidyft,從來不真正讀入資料,每次唯讀入需要數量的資料。每次處理不會做拷貝,資料只會變少不會變多。也就是說,如果你的演算法不額外生成更多的資料,在原位更新的過程中,只要能讀入資料,你就能夠隨心所欲處理它們。

詳見:hope-data-science/tidyft

新增效果圖:

2樓:王一飛

補充一下,關於並行運算這個頁面總結的比較齊全,包括多核多執行緒,GPU並行等等

CRAN Task View: High-Performance and Parallel Computing with R

3樓:張有侖

我是新手,不過也有一些感悟。

少用迴圈,尤其是多重迴圈;

如果不得不用迴圈,甚至是多重迴圈,可以考慮先把資料量限制一下,取出其中的子集做操作。

4樓:

arxiv.org/abs/1503.00855v1Hadley Wickham補充的:

5樓:張海州

程式設計師出身的人,一般第一次用R時都會感慨,怎麼這麼碎啊,乙個功能有十八種函式,乙個函式有十八種用法,這哪是門語言啊,這根本就是坨零碎嘛。

如果你也有這種感慨,那你需要思考乙個問題,R的靈魂是什麼?

是程式嗎?是邏輯嗎?是演算法嗎?

都不是,R的靈魂是資料!

你可以這樣來理解,用R得到結果的過程,就是雕琢資料的過程,一切都圍繞資料。這兒用斧子砍幾下,那兒用刀子劃幾道,直到成型了,再琢磨怎麼上色怎麼添彩,或者就這麼粗曠著。

那些精彩的包,無一不是如此思想,當正確的包作用到正確的資料時,那種郎情妾意,真真的是共舞到醉。

好了,現在給你一坨資料,你打算把它塑造成啥?塑造時,你還缺什麼工具?

6樓:何史提

多用已建的東西,少寫自己的碼

如project大型,可考慮建包,用object-oriented programming

7樓:王雨晨

1. 熟悉 R 程式設計的特性,向量化,多用自帶的函式2. 拿Fortran或C++寫再用R呼叫3.

用 compiler 包編譯函式再呼叫4. parallel 和其他的平行計算包5. Revolution R Open, 編譯 R 時鏈結了一些計算庫

3、5 沒試過,我一般的順序是1,4,2,大部分別人的問題1就能解決,自己的問題經常用2。

如何編寫乙個C語言程式,計算1 999中能被3整除且至少有一位數字是5的所有整數

freeman int a0 3,a1 0,a2 0 forint num a0 a1 10 a2 100 if num 999 break if a0 5 a1 5 a2 5 printf i num a0 3 if a0 9 zi xiang vim div3 5.c include intma...

如今存在用機器語言編寫出的程式麼?

梅諾 存在啊。在電子 計算機工程學生的課堂上 作業裡 考試裡。至於金字塔怎麼搭的各種答案都說了。如果要詳細了解的話.推薦我們的教科書 Introduction to Computing Systems From Bits and Gates to C and Beyond Choir Glee 數位...

R 語言小白如何開展 R 語言的學習啊?

個人拙見,學任何一門程式語言,都應該遵循這樣乙個過程 1 閱讀簡單的教程,能夠做到初步上手,具體來說就是要熟悉變數 資料型別 輸入輸出以及迴圈語法 2 直接上手實戰,不會就查Google 查bing 查bbs,你遇到的問題,大部分都是前人遇到過的。推薦兩個R語言教程,乙個是北大李東風老師的講義,乙個...