R进度条用于读取多个csv(tsv)文件

时间:2018-06-13 13:36:29

标签: r

有没有办法显示导入多个csv文件的进度条。 这是进口代码: 列出要导入的所有fiels:

temp <- list.files(pattern="*\\.tsv$") 
temp

将导入特定列:

test_data <- lapply(temp,function(x){
  read.csv(file = x,
           sep ="\t",
           fill = TRUE,
           quote='', 
           header = FALSE 
  )[ ,c(287, 288, 289, 290, 291, 292, 293, 304, 370, 661, 662, 812, 813,994, 995, 1002)]
}
)

如何监控当前进度状态? 我刚刚找到了一些循环建议,但没有找到导入文件的建议

1 个答案:

答案 0 :(得分:2)

您可以使用progress库实现此目的:

library(progress)                                                      # add
temp <- list.files(pattern="*\\.tsv$") 
pb <- progress_bar$new(format = " progress [:bar] :percent eta: :eta", # add
                       total = length(temp), clear = FALSE, width= 60) # add
test_data <- lapply(temp,function(x){
  pb$tick()                                                            # add
  read.csv(file = x,
           sep ="\t",
           fill = TRUE,
           quote='', 
           header = FALSE 
  )[ ,c(287, 288, 289, 290, 291, 292, 293, 304, 370, 661, 662, 812, 813,994, 995, 1002)]
})

我已使用# add评论标记了您需要添加的行。您还可以使用原生R进度条,但我发现progress版本更易读,可配置且易于使用。