我正在创建一个带有大型数据库的R shinydashboard,需要一段时间才能加载。 是否可以创建一个进度条,显示已读取的数据量信息? (例如,"读取Z行的X%")?
答案 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)
以加载数据。您还可以故意执行多个大查询以通知循环中的进度条。如果您只加载一个文件,请将消息更改为更合适的内容(显然,循环只会执行一个循环)。