5

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

4

1 回答 1

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))来加载数据。你也可以有意地做不止一个大查询来通知循环中的进度条。如果您只加载一个文件,请将消息更改为更合适的内容(显然,循环只会执行一个循环)。

于 2015-10-10T17:26:01.170 回答