我想找到下面数据集的平均时间
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"
有个办法。
- 强制字符串向量到包
chron
S3类"time"
; - 使用
mean
方法计算该类的平均时间; - 整数到分钟;
- 删除秒数。
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