R 提高R語言速度

2021-08-15 23:24:22 字數 715 閱讀 6372

前言:r語言在聚類中應用廣泛,所以我義無反顧的選擇它。但實驗室就我1個人用,網上資料也很少。是時候針對走過的彎路和曾有過的探索,總結一番。

1.     參考《r語言程式設計藝術》(norman matloff)

chapter 14 & chapter 15

2.     方法

(1)向量化 

與非向量化-迴圈做個對比:

(2)r中呼叫c或cpp

通過rstudio建立r包,r包中可以聯合使用cpp。僅拿迴圈做個例子,cpp中做迴圈的速度秒殺r。

檢視r包的原始檔,可以發現許多r包其實是用了.cpp的!

(3)多執行緒

若在rgui中直接執行程式,1個核跑1個rgui;若電腦有4個核,就可以開4個rgui跑4個程式。

使用多執行緒,就能多核執行了,演算法執行時間必然縮短。

可以通過任務管理器觀察cpu的運**況。

對於4核系統,開3個還是4個執行緒呢?若開4個執行緒,cpu佔用率將達到100%,再加上呼叫開銷,說不定不如開3個核划算。

3.   其他參考推薦

book【r高效能程式設計】(by aloysius lim)

R語言 理解R效能

通過了解限制r計算效能的因素,從而更好的利用起r的效能,影響r的因素 cpu,ram,磁碟i o,演算法。所以,當資料量小時,計算複雜度高,會受到cpu影響。資料量大時,會受到磁碟i o還有ram的影響。r是解釋型語句,即每次執行r程式的時候,r 需要重新解釋翻譯成機器 即使 不變。因為每次執行時,...

r語言安裝r包

cran,bioconductor還有github。bioconductor一般都是生物資訊方面的r包。github是 的託管平台,很多軟體,多種語言的程式包也都在這裡發布。install.packages dyplr 注意 更改映象 options repos c cran options bio...

r語言electricity資料集 R語言 資料集

第二章 建立資料集 1.r語言的資料型別 數值型 字元型 邏輯型 複數型 虛數 和原生型 位元組 2.資料結構 a.向量 儲存數值型 字元型和邏輯型資料的一維陣列 a c 1,2,3,4,5 建立 組合功能的函式c a 1 1 2 3 4 5 a c 1,4 訪問 方括號 向量中指定的元素 1 1 ...