R Shinydashboard:加载数据时显示进度条(读取)

use*_*923 5 r shiny shinydashboard

我正在创建带有大型数据库的R Shinydashboard,该数据库需要一段时间才能加载。是否可以创建一个进度条来显示已读取的数据量信息?(例如,“读取Z行的X%”)?

Isa*_*ber 0

在初始加载完成之前,R 无法告诉您数据中有多少行(我认为)。但是,您可以使用内置的闪亮进度条向用户显示数据正在加载的消息:

x<-list.files()

data<-data.frame()

withProgress(message = 'Reading Data!', value = 0, {

    for(i in 1:length(x)){
        incProgress(1/length(x), detail = paste("File #", i))
        hold<-read.csv(x[i])
        data<-rbind(data,hold)
    }
})
Run Code Online (Sandbox Code Playgroud)

您可以将 替换read.csv()为您正在使用的任何命令(即fread("dt.csv", sep=";",header=T, stringsAsFactors=FALSE))来加载数据。您还可以有意执行多个大型查询来通知循环中的进度条。如果您只加载一个文件,请将消息更改为更合适的内容(显然,循环只会执行一个周期)。