我正在创建一个带有需要一段时间才能加载的大型数据库的 R shinydashboard。是否可以创建一个显示已读取数据量信息的进度条?(例如,“读取 Z 行的 X%”)?
问问题
2824 次
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 回答