R語言中的平行計算實現

2021-09-25 16:15:40 字數 1044 閱讀 7329

平行計算有顯性並行和隱式並行,

介紹可以參考:

parallel是比較基礎的,不需要額外安裝,直接載入就行,但是不是很穩定,關於parallel包的介紹可以參考:

# foreach

library(foreach)

library(doparallel)

#分配核心數,這裡獲取了物理核心數

cores <

- detectcores(logical=f)

cl <

- makecluster(cores)

registerdoparallel(cl, cores=cores)

system.time(

#.combine是資料的合併方法,如果預設則返回乙個list

res <

- foreach(i=1:

20,.combine=

'rbind'

)%dopar%

return

(s)}

)#關閉並行

stopimplicitcluster(

)stopcluster(cl)

另外乙個比較穩定的並行包是snowfall依賴snow包和parallel包,可以參考:

可以比較一下執行速度:

library(parallel)

#用於平行計算

library(snowfall)

# 載入snowfall包,用於平行計算

system.time(

for(i in1:

2250)}

)myfun<

-function(i)

}system.time(

# 並行初始化

sfinit(parallel = true, cpus = detectcores(logical = f)-1

) s<1:

2250

, myfun)

# 結束並行,返還記憶體等資源

sfstop(

))

R語言平行計算程式設計

r語言並行程式設計例項,將資料集rcuters 21578的50個文件賦值100,000次,得到包含500萬個文件的資料庫,查詢正規表示式。tm軟體包是r語言中為文字挖掘提供處理的package,提供資料匯入 語料庫處理 預處理 元資料管理 建立term document矩陣等功能。平行計算 lib...

R語言中的平行計算 二 搭建R的集群

zhuanzai 一直糾結於r的大資料計算問題,希望可以找到乙個徹底的方案解決它。而雲伺服器當然是解決這個問題的最佳方案,所以,至少從這方面入手。r的雲伺服器部署有兩種解決方案,一種是使用r語言的平行計算,另外一種是使用rhadoop框架。rhadoop框架其實就是m r 演算法的r語言實現,需要使...

R語言snow包平行計算

this post was kindly contributed by 資料科學與r語言 go there to comment and to read the full post.在資料探勘和機器學習領域有許多的演算法需要強大的計算能力,如果對大資料進行運算操作,那麼其工作量之大使單個cpu核心難...