You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于登录登出时间按小时区间统计系统在线用户数量

R语言实现按小时统计在线用户数

实现思路

  • 先将字符串格式的登录、登出时间转换为时间类型,提取对应的小时数值
  • 生成覆盖所有数据时段的小时区间列表
  • 逐时段判断用户在线时段是否覆盖当前小时,统计符合条件的用户总量

完整代码

# 加载依赖包
library(lubridate)
library(dplyr)

# 示例数据
login <- c("18:10:00", "19:05:06", "19:42:22", "20:22:11")
logoff <- c("20:45:21", "21:55:00", "19:55:00", "21:30:50")
df <- data.frame(login, logoff)

# 转换时间格式、提取小时字段
df <- df %>%
  mutate(
    login = hms(login),
    logoff = hms(logoff),
    login_h = hour(login),
    logoff_h = hour(logoff)
  )

# 生成统计时段并计算在线人数
hour_range <- seq(min(df$login_h), max(df$logoff_h), 1)
result <- data.frame(
  Hour = paste0(sprintf("%02d:00-", hour_range), sprintf("%02d:00", hour_range + 1)),
  Count = sapply(hour_range, function(h) sum(df$login_h <= h & df$logoff_h >= h))
)

# 输出结果
print(result)

输出结果

HourCount
18:00-19:001
19:00-20:003
20:00-21:003
21:00-22:002

内容的提问来源于stack exchange,提问作者NathanielD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 07:54:01