r - 如何计算 lapply 中向量的序列号?
问题描述
我有一个很大的 vactor (3GB) 可以通过 lapply 进行处理,我想知道它已经进行了多少。如果我能识别它是哪个元素会更容易,但如果我不能呢?
在for
循环中,我可以在循环内分配一个计数器,但我应该如何在循环内设置一个计数器lapply
?
X <- LETTERS[1:26]
lapply(X, function(a) {
cat(paste0(which(X == a), "\r")
print(a)
})
非常感谢。
解决方案
要滚动您自己的进度计数器,只需迭代X
' 整数位置,而不是直接迭代X
' 元素。以下打印处理的百分比:
X_out <- lapply(seq_along(X), function(a) {
cat("\r", round((a/length(X))*100), "%", sep = "")
toupper(X[a])
})
你也可以试试这个progress
包。唯一的缺点是它似乎让事情变慢了一点(也许是设计使然,所以你可以看到进度)。你可以尝试这样的事情:
install.packages("progress")
library(progress)
X <- sample(letters, 100000, T)
pb <- progress_bar$new(total = length(X))
X_out <- lapply(X, function(a) {
pb$tick()
toupper(a)
})
推荐阅读
- postfix-mta - Postfix 中的基本垃圾邮件过滤器
- spring-boot - 找到多个名为 [spring_web] 的片段
- android - 如何使用 OnPressed FAB 按钮在 Flutter 中设置计时器倒计时 30 秒?
- swift - 未显示 menuController 并且无法弄清楚如何使视图返回 True 以调用 .becomeFirstResponder
- wordpress - 使用 WPAPI 向 WordPress 发表评论
- javascript - 为什么我的圆锥在被鼠标拖动时旋转不顺畅
- c - 文本文件到排序的二进制文件,C 语言
- javascript - 将具有 WMS 图层的地图转换为图像并在 PDF 中使用它,但它适用于 WFS 图层
- sql-server - 仅输出给定时间范围内的唯一行
- svn - SVN 提交目录,就好像它们被改变了一样