R shinydashboard:加载数据时显示进度条(fread)

时间:2015-07-14 04:37:13

标签: r shiny shinydashboard

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

1 个答案:

答案 0 :(得分:0)

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

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)
    }
})

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