[分享] 在for之中自動顯示progress bar(不需改code)

看板R_Language作者 (拒看低質媒體)時間10年前 (2014/08/19 23:00), 10年前編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
[關鍵字]: for, progress bar 原本的版本會無法編輯global environment的物件,所以我改成這樣: `for` <- function(a, b, expr) { pb <- txtProgressBar(max = length(b), style = 3) base::`for`(.i, seq_along(b), { assign(as.character(substitute(a)), b[.i], envir = globalenv()) eval(substitute(expr), globalenv()) setTxtProgressBar(pb, .i) }) close(pb) } test script: x <- 0 for(i in 1:10) x <- x + 1 x --- 有時候跑迴圈的時候想要追進度, 可以使用 `txtProgressBar`, `setTxtProgressBar` 這兩個函數來達成目的。 但是我每次改for loop的時候,都覺得這個動作很重複,應該可以一般化。 剛剛研究了一下,發現如果在一開始放入: `for` <- function(a, b, expr) { pb <- txtProgressBar(max = length(b), style = 3) base::`for`(.i, seq_along(b), { param <- list() param[[as.character(substitute(a))]] <- b[.i] eval(substitute(expr), param) setTxtProgressBar(pb, .i) }) close(pb) } 那後面簡單的for loop都會自動加上progress bar,不用改code。 不知道版友們有沒有興趣玩玩看? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.109.16.164 ※ 文章網址: http://www.ptt.cc/bbs/R_Language/M.1408460415.A.F2E.html

08/19 23:27, , 1F
有趣有趣。
08/19 23:27, 1F
※ 編輯: Wush978 (220.135.56.60), 08/20/2014 13:29:56

08/21 00:36, , 2F
筆記筆記~ funny~
08/21 00:36, 2F
文章代碼(AID): #1JysP_yk (R_Language)
文章代碼(AID): #1JysP_yk (R_Language)