查找r中HR:MIN的平均次数

  • 本文关键字:MIN HR 查找 r time
  • 更新时间 :
  • 英文 :


我想找到下面数据集的平均时间

c("1:00", "12:45", "12:45", "1:00", "7:30", "12:45", "7:15", 
"8:00", "12:30", "12:15", "12:45", "7:30", "7:45", "12:45", "11:30", 
"11:00", "10:45", "10:30", "4:30", "11:00", "11:00", "9:45", 
"9:45", "11:00", "11:15", "4:45", "11:15", "11:15", "11:00", 
"11:00", "2:15", "10:45", "10:45", "11:00", "11:30", "10:30", 
"11:00", "11:15", "10:45", "12:45", "1:15", "12:45", "7:45", 
"1:00", "1:15", "12:45", "1:00", "8:00", "1:15", "12:15", "11:00", 
"11:15", "5:00", "11:00", "10:45", "11:00", "11:30", "11:00", 
"5:00", "10:45", "11:00", "2:30", "10:45", "11:15", "11:15", 
"10:15", "11:00", "11:00", "11:00", "11:15", "11:15", "11:15", 
"11:00", "11:00", "2:30", "10:30", "10:30", "5:15", "10:15", 
"10:45", "11:15", "11:00", "11:15", "10:00", "12:30", "12:15", 
"12:45", "1:00", "8:15", "1:00", "7:30", "12:45", "12:30", "12:45", 
"12:30", "12:30", "1:00", "8:00", "12:15", "12:30")

保持相同的格式

目前它们都是'字符'类

特别是这个,与提供的答案产生5:24

c("1:00", "1:45", "1:00", "12:45", "1:30", "1:00", "1:30", "1:45", 
"1:45", "12:45", "1:00", "12:45", "1:30", "1:15", "12:30", "12:30", 
"12:45", "1:00", "1:15", "1:15", "1:15", "12:30", "12:45", "1:15", 
"12:45", "1:00", "1:30", "1:15", "12:45", "12:45", "12:30")

base R中,您可以使用:

format(mean(strptime(times, "%H:%M")), "%H:%M")

输出:

[1] "09:24"

有个办法。

  1. 强制字符串向量到包chronS3类"time";
  2. 使用mean方法计算该类的平均时间;
  3. 整数到分钟;
  4. 删除秒数。
times <- c("1:00", "12:45", "12:45", "1:00", "7:30", "12:45", "7:15", 
"8:00", "12:30", "12:15", "12:45", "7:30", "7:45", "12:45", "11:30", 
"11:00", "10:45", "10:30", "4:30", "11:00", "11:00", "9:45", 
"9:45", "11:00", "11:15", "4:45", "11:15", "11:15", "11:00", 
"11:00", "2:15", "10:45", "10:45", "11:00", "11:30", "10:30", 
"11:00", "11:15", "10:45", "12:45", "1:15", "12:45", "7:45", 
"1:00", "1:15", "12:45", "1:00", "8:00", "1:15", "12:15", "11:00", 
"11:15", "5:00", "11:00", "10:45", "11:00", "11:30", "11:00", 
"5:00", "10:45", "11:00", "2:30", "10:45", "11:15", "11:15", 
"10:15", "11:00", "11:00", "11:00", "11:15", "11:15", "11:15", 
"11:00", "11:00", "2:30", "10:30", "10:30", "5:15", "10:15", 
"10:45", "11:15", "11:00", "11:15", "10:00", "12:30", "12:15", 
"12:45", "1:00", "8:15", "1:00", "7:30", "12:45", "12:30", "12:45", 
"12:30", "12:30", "1:00", "8:00", "12:15", "12:30")
library(chron)
times <- as.times(paste0(times, ":00"))
mean(times)
#> [1] 09:24:27
mean_time <- round(mean(times), unit = "minutes")
mean_time
#> [1] 09:24:00
mean_time <- sub(":\d{2}$", "",mean_time)
mean_time
#> [1] "09:24"

由reprex包(v2.0.1)创建于2022-06-27

最新更新