最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

R語言中for循環(huán)的并行處理方式

 更新時間:2021年04月21日 11:11:08   作者:SANGF  
這篇文章主要介紹了R語言中for循環(huán)的并行處理方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

前言

本文用于記錄筆者在將R語言中的for語句并行化處理中的一些問題。

實驗

這里使用foreach和doParallel包提供的函數(shù)實現(xiàn)for語句的并行處理。

for語句腳本

func <- function(x, y, z) {
  return(x^y/z)
}
# >>> main <<<
x <- 2
y <- 3
z <- 1:100000
start <- (proc.time())[3][[1]]
a <- 0
for (i_z in z) {
  a <- a + func(x, y, i_z)
}
end <- (proc.time())[3][[1]]
print(paste('Result = ', round(a, 2), ', time = ', (end-start), 's', sep=''))

輸出:

[1] "Result = 96.72, time = 0.177s"

并行化版本

library(foreach)
library(doParallel)
func <- function(x, y, z) {
  return(x^y/z)
}
# >>> main <<<
x <- 2
y <- 3
z <- 1:100000
start <- (proc.time())[3][[1]]
cl <- makeCluster(12)
registerDoParallel(cl)
a <- foreach(z=z, .combine='rbind') %dopar% func(x, y, z)
a <- sum(a)
stopCluster(cl)
end <- (proc.time())[3][[1]]
print(paste('Result = ', round(a, 2), ', time = ', (end-start), 's', sep=''))

輸出:

[1] "Result = 96.72, time = 37.988s"

總結(jié)

1、這里發(fā)現(xiàn)并行化所用時間大于非并行化所用過的時間,是因為需要執(zhí)行的操作(func函數(shù))過于簡單,而foreach處理時會有額外的資源消耗。此時foreach額外消耗的資源遠大于需要執(zhí)行的操作所需的資源,因此會導(dǎo)致并行化后反而使用的時間增加了。所以對于一些復(fù)雜的操作比較適合使用并行化的策略。

2、foreach函數(shù)的.packages參數(shù)可以為并行化函數(shù)傳遞額外需要的包。

3、foreach中的參數(shù)為需要在func中循環(huán)的變量,其他固定的變量則在func中傳入。參數(shù)可以是data.frame類型。

補充:R語言--for循環(huán)語句的使用

R語言for循壞語句的使用(多個for)

對于多個for循還語句,R語言的執(zhí)行順序(以3個for為例):從外向內(nèi)單個執(zhí)行,里邊循還完整,再往外一層,直到全部完成。話不多說,上例子:

代碼:

library(data.table)
mm<-data.table()
m<-c(1,2,3,4,5)
n<-c('a','b','c','d','e')
o<-c(6,7,8,9,10)
for (i1 in m){
  for ( i2 in n){
     for (i3 in o){
       print(c(i1,i2,i3))
       aa<-data.table(i1,i2,i3)
       bb<-rbind(mm,aa)
       
     }
  }
}

執(zhí)行結(jié)果:

[1] "1" "a" "6"
[1] "1" "a" "7"
[1] "1" "a" "8"
[1] "1" "a" "9"
[1] "1"  "a"  "10"
[1] "1" "b" "6"
[1] "1" "b" "7"
[1] "1" "b" "8"
[1] "1" "b" "9"
[1] "1"  "b"  "10"
[1] "1" "c" "6"
[1] "1" "c" "7"
[1] "1" "c" "8"
[1] "1" "c" "9"
[1] "1"  "c"  "10"
[1] "1" "d" "6"
[1] "1" "d" "7"
[1] "1" "d" "8"
[1] "1" "d" "9"
[1] "1"  "d"  "10"
[1] "1" "e" "6"
[1] "1" "e" "7"
[1] "1" "e" "8"
[1] "1" "e" "9"
[1] "1"  "e"  "10"
[1] "2" "a" "6"
[1] "2" "a" "7"
[1] "2" "a" "8"
[1] "2" "a" "9"
[1] "2"  "a"  "10"
[1] "2" "b" "6"
[1] "2" "b" "7"
[1] "2" "b" "8"
[1] "2" "b" "9"
[1] "2"  "b"  "10"
[1] "2" "c" "6"
[1] "2" "c" "7"
[1] "2" "c" "8"
[1] "2" "c" "9"
[1] "2"  "c"  "10"
[1] "2" "d" "6"
[1] "2" "d" "7"
[1] "2" "d" "8"
[1] "2" "d" "9"
[1] "2"  "d"  "10"
[1] "2" "e" "6"
[1] "2" "e" "7"
[1] "2" "e" "8"
[1] "2" "e" "9"
[1] "2"  "e"  "10"
[1] "3" "a" "6"
[1] "3" "a" "7"
[1] "3" "a" "8"
[1] "3" "a" "9"
[1] "3"  "a"  "10"
[1] "3" "b" "6"
[1] "3" "b" "7"
[1] "3" "b" "8"
[1] "3" "b" "9"
[1] "3"  "b"  "10"
[1] "3" "c" "6"
[1] "3" "c" "7"
[1] "3" "c" "8"
[1] "3" "c" "9"
[1] "3"  "c"  "10"
[1] "3" "d" "6"
[1] "3" "d" "7"
[1] "3" "d" "8"
[1] "3" "d" "9"
[1] "3"  "d"  "10"
[1] "3" "e" "6"
[1] "3" "e" "7"
[1] "3" "e" "8"
[1] "3" "e" "9"
[1] "3"  "e"  "10"
[1] "4" "a" "6"
[1] "4" "a" "7"
[1] "4" "a" "8"
[1] "4" "a" "9"
[1] "4"  "a"  "10"
[1] "4" "b" "6"
[1] "4" "b" "7"
[1] "4" "b" "8"
[1] "4" "b" "9"
[1] "4"  "b"  "10"
[1] "4" "c" "6"
[1] "4" "c" "7"
[1] "4" "c" "8"
[1] "4" "c" "9"
[1] "4"  "c"  "10"
[1] "4" "d" "6"
[1] "4" "d" "7"
[1] "4" "d" "8"
[1] "4" "d" "9"
[1] "4"  "d"  "10"
[1] "4" "e" "6"
[1] "4" "e" "7"
[1] "4" "e" "8"
[1] "4" "e" "9"
[1] "4"  "e"  "10"
[1] "5" "a" "6"
[1] "5" "a" "7"
[1] "5" "a" "8"
[1] "5" "a" "9"
[1] "5"  "a"  "10"
[1] "5" "b" "6"
[1] "5" "b" "7"
[1] "5" "b" "8"
[1] "5" "b" "9"
[1] "5"  "b"  "10"
[1] "5" "c" "6"
[1] "5" "c" "7"
[1] "5" "c" "8"
[1] "5" "c" "9"
[1] "5"  "c"  "10"
[1] "5" "d" "6"
[1] "5" "d" "7"
[1] "5" "d" "8"
[1] "5" "d" "9"
[1] "5"  "d"  "10"
[1] "5" "e" "6"
[1] "5" "e" "7"
[1] "5" "e" "8"
[1] "5" "e" "9"
[1] "5"  "e"  "10"

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • R語言-實現(xiàn)按日期分組求皮爾森相關(guān)系數(shù)矩陣

    R語言-實現(xiàn)按日期分組求皮爾森相關(guān)系數(shù)矩陣

    這篇文章主要介紹了R語言-實現(xiàn)按日期分組求皮爾森相關(guān)系數(shù)矩陣,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言 實現(xiàn)將1對多數(shù)據(jù)與1對1數(shù)據(jù)互換

    R語言 實現(xiàn)將1對多數(shù)據(jù)與1對1數(shù)據(jù)互換

    這篇文章主要介紹了R語言 實現(xiàn)將1對多數(shù)據(jù)與1對1數(shù)據(jù)互換的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • R語言學習筆記之lm函數(shù)詳解

    R語言學習筆記之lm函數(shù)詳解

    這篇文章主要介紹了R語言學習筆記之lm函數(shù)詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • R語言繪圖基礎(chǔ)教程(新手入門推薦!)

    R語言繪圖基礎(chǔ)教程(新手入門推薦!)

    數(shù)據(jù)作圖是數(shù)據(jù)分析的重要方法之一,R提供了豐富的作圖函,下面這篇文章主要給大家介紹了關(guān)于R語言繪圖基礎(chǔ)教程的相關(guān)資料,文中通過實例代碼以及圖文介紹的非常詳細,需要的朋友可以參考下
    2022-11-11
  • 用R語言實現(xiàn)霍夫曼編碼的示例代碼

    用R語言實現(xiàn)霍夫曼編碼的示例代碼

    這篇文章主要介紹了用R語言實現(xiàn)霍夫曼編碼的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • R語言的特點總結(jié)

    R語言的特點總結(jié)

    在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于R語言的特點總結(jié)內(nèi)容,有需要的朋友們可以學習參考下。
    2021-03-03
  • R語言實現(xiàn)二進制文件讀寫操作

    R語言實現(xiàn)二進制文件讀寫操作

    這篇文章主要介紹了R語言實現(xiàn)二進制文件讀寫操作,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • R語言變量重編碼、重命名的操作

    R語言變量重編碼、重命名的操作

    這篇文章主要介紹了R語言變量重編碼、重命名的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R包ggtreeExtra繪制進化樹

    R包ggtreeExtra繪制進化樹

    這篇文章主要為大家介紹了R包ggtreeExtra繪制進化樹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • R語言安裝VSCODE和環(huán)境配置

    R語言安裝VSCODE和環(huán)境配置

    VSCode是一個跨平臺的代碼編輯器,支持多種編程語言和運行時環(huán)境,在VSCode中配置R語言環(huán)境,需要安裝R插件和RDebugger插件,并配置R語言虛擬環(huán)境,配置過程中需要設(shè)置R執(zhí)行路徑、啟動時的命令行參數(shù)和SessionWatcher等選項,安裝Languageserver插件可以實現(xiàn)自動補齊
    2024-11-11

最新評論

望奎县| 汽车| 靖边县| 汶上县| 广宁县| 韶关市| 文水县| 宁安市| 抚顺县| 红安县| 高唐县| 石河子市| 光山县| 苍山县| 娄烦县| 谢通门县| 曲水县| 吉安市| 中宁县| 自治县| 定陶县| 东明县| 博爱县| 本溪市| 汽车| 手游| 晋宁县| 澄城县| 宣汉县| 黔西县| 石台县| 疏勒县| 南通市| 余江县| 英超| 扎赉特旗| 容城县| 桃江县| 固安县| 安图县| 驻马店市|