2017-10-12 148 views
1

我正在製作一個Shiny應用程序,在點擊actionButton時,使用插入程序包訓練模型。由於這次培訓需要時間 - 大約4-5分鐘 - 我想顯示一個進度條,隨着模型的訓練而進展。閃亮R模型訓練進度條

感謝

+0

請接受的答案,如果這是對您有所幫助。 – Santosh

回答

2

要閃亮的應用程序顯示進度條,你需要使用withProgress功能server如下:

withProgress(message = "Model is Training", value = 1.0, {    
    ## Your code 
}) 

所以,你把你的代碼,這個函數裏面,它會顯示消息代碼運行時,「模型就是訓練」。該函數中的value是應用中的進度指示器(1.0是100%)。這可以根據計算進行設置。例如,您可以設置value = min + (max - min) * 0.1。它不需要完全像這樣。任何依賴於代碼的適合你的東西。設置value = 1.0不會受到傷害,因爲它在您的案例「模型是培訓」中顯示了具有意義且相關消息的進度條。

要獲得更多信息,請訪問此鏈接:https://shiny.rstudio.com/reference/shiny/latest/withProgress.html

+0

親愛的@Santosh,這似乎不工作,我試圖運行此代碼: - observeEvent(輸入$ trainModelButton,{ print(「Training Begins」) withProgress(「Model is being Trained」,value = 1.0,{ train(demand〜temp,dataProcessed_Internal,'rf',ntree = 50) }) –

+0

爲什麼在代碼中寫入print(「Training Begins」)?閃亮的應用程序不會使用「打印」功能進行打印。你需要使用'renderText'。有沒有錯誤,你得到了嗎?因爲顯示進度條很簡單。我已經實現了它一千次。你只需要將代碼放在'withProgress'函數中,就像我在我的答案中所建議的那樣。 – Santosh

+0

'observeEvent(輸入$ trainModelButton,{ withProgress( 「模型被訓練」,值= 1.0,{ 列車(需求〜溫度,dataProcessed_Internal, 'RF',ntree = 50) }) })'這應該工作。如果出現問題,必須使用「observeEvent」和您的火車模型。 – Santosh