R 从日志文件计算并发用户数

R 从日志文件计算并发用户数,r,R,我正在寻找分析日志文件的最快方法,其中有两列感兴趣:login\u time和logout\u time,以获取在特定时间范围(bin)内登录到系统的并发用户数 方法#1给出了每个bin的正确计数,但在R中不鼓励循环,因此我认为对于更大的日志它将失败(我希望文件包含甚至数十万行)。我使用了一个列表,以便在适当的位置修改对象(使用address()从pryr库进行检查) 方法#2是我认为可能更快的方法,但它没有按照我希望的方式工作。 现在它将回收垃圾箱,并给出每个历史记录行的结果。 我想得到一个2

我正在寻找分析日志文件的最快方法,其中有两列感兴趣:
login\u time
logout\u time
,以获取在特定时间范围(
bin
)内登录到系统的并发用户数

方法#1给出了每个bin的正确计数,但在R中不鼓励循环,因此我认为对于更大的日志它将失败(我希望文件包含甚至数十万行)。我使用了一个列表,以便在适当的位置修改对象(使用
address()
pryr
库进行检查)

方法#2是我认为可能更快的方法,但它没有按照我希望的方式工作。 现在它将回收
垃圾箱
,并给出每个
历史记录
行的结果。 我想得到一个2D矩阵,这样我就可以对行求和,得到与方法#1相同的结果。 不过,我担心这种方法可能不会节省内存

库(tidyverse)
图书馆(lubridate)
#>以下对象已从“package:base”屏蔽:
#> 
#>日期、相交、设置差异、联合

bins方法#1很好,但是可以使用
lappy
而不是
for
-循环来提高效率。只需将循环重写为一个函数,并使用
lappy(您的\u列表,您的\u函数)
for
loop或apply的
I重写效率与
test\u功能相同