最新国产好看的视频,伊人天堂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"

總結

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

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í)行結果:

[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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關文章

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

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

    這篇文章主要介紹了R語言-實現(xià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語言繪圖基礎教程(新手入門推薦!)

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

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

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

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

    R語言的特點總結

    在本篇內(nèi)容里小編給大家整理的是一篇關于R語言的特點總結內(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)境,配置過程中需要設置R執(zhí)行路徑、啟動時的命令行參數(shù)和SessionWatcher等選項,安裝Languageserver插件可以實現(xiàn)自動補齊
    2024-11-11

最新評論

黔西| 西林县| 恩平市| 阿拉善盟| 武鸣县| 沅江市| 汾西县| 修文县| 开原市| 来安县| 万安县| 遂昌县| 罗山县| 苗栗市| 如皋市| 皮山县| 桐梓县| 濮阳市| 胶州市| 安庆市| 普兰店市| 乾安县| 凤阳县| 廊坊市| 郑州市| 霍林郭勒市| 大渡口区| 犍为县| 西和县| 巴青县| 钟山县| 宜兴市| 博客| 崇阳县| 溧水县| 朝阳区| 皮山县| 莱阳市| 托克逊县| 三亚市| 五大连池市|