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功能相同