我是R新手,请帮助我理解从秒到分钟的转换。
我正在做行程时间分析,几秒钟就能得到结果,不方便描述性分析和后续可视化。不同时间段有很多计算,这里一小部分:
trip_stats <- cyclistic_df %>%
group_by(member_casual) %>%
summarise(average_ride_length = round((mean(ride_length), 2), # average ride length (total ride time / trips)
median_ride_length = round(median(ride_length), 2), # median ride length
min_ride_length = round(min(ride_length), 2), # minimum ride length
max_ride_length = round(max(ride_length), 2)) # maximum ride length
head(trip_stats)
结论:
# A tibble: 2 × 5
member_casual average_ride_length median_ride_length min_ride_length max_ride_length
<chr> <drtn> <drtn> <drtn> <drtn>
1 casual 22.72 secs 785 secs 1 secs 1922127 secs
2 member 12.19 secs 525 secs 1 secs 89872 secs
或者这是另一个例子:
# Average ride length (ride_length):
ride_lengt_avg <- round(mean(cyclistic_df$ride_length), 2)
print(ride_lengt_avg)
结论:
Time difference of 977.28 secs
我尝试了as_hms的不同变体,格式“%M:%S”,分钟(),但不幸的是它仍然以秒为单位输出计算结果。例如,我创建了多个列,其中有一列只有小时:
# Format time as HH:MM:SS:
cyclistic_df$time <- format(as.Date(cyclistic_df$date), "%H:%M:%S")
# Create new column for time:
cyclistic_df$time <- as_hms((cyclistic_df$started_at))
# Create new column for hour:
cyclistic_df$hour <- hour(cyclistic_df$time)
结论:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
casual 32053 20813 12246 6763 4515 8707 23390 40346 55066 56190 72233 93437 109905 114531 121187 134839 153614 170534
member 25582 15645 8736 5268 6097 26049 81660 151664 180585 120035 109540 129717 149403 147804 148800 183330 249039 297724
18 19 20 21 22 23
casual 148452 111916 81388 69348 61476 44808
member 233303 165938 115161 88668 65505 41332
不幸的是,通过类比,我无法用分钟而不是秒来表示输出。
除以 60 也没有帮助,而且只会产生误导,因为保留了“秒”。
我将非常感谢您的帮助!
as.numeric
接受units=
:
set.seed(42)
d <- (Sys.time()) - (Sys.time() - runif(10, 0, 99))
d
# Time differences in secs
# [1] 90.56578 92.77045 28.32780 82.21430 63.53279 51.39048 72.92223 13.33198 65.04222 69.80140
as.numeric(d, units = "mins")
# [1] 1.5094297 1.5461741 0.4721299 1.3702383 1.0588798 0.8565080 1.2153704 0.2221996 1.0840370 1.1633566