R POSIX%H:%M:%S平均时间 [英] R POSIX %H:%M:%S Time Average
本文介绍了R POSIX%H:%M:%S平均时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个字符时间的数据框,我需要按提供者进行平均,但是我不确定如何仅使用不带日期的时间对它们进行平均.对于下面的示例:
I have a data frame of character times that I need to average by provider, but I'm not sure how to average them using just the time without the date. For the example below:
provider time
USA 9:26:46
USDA 9:26:18
USDA 9:10:17
OIL 10:00:00
USA 6:20:56
USDA 7:19:13
OIL 11:00:00
OIL的正确输出应该是10:00到11:00之间的平均值,并且看起来像:
The correct output for OIL would be the average between 10:00 and 11:00, and would look like:
provider average
OIL 10:30
有人知道如何在不使用POSIX合并日期的情况下平均时间吗?
Does anyone know how to average just time without incorporating date using POSIX?
推荐答案
平均值
可以正常工作.之后,您可以将日期格式化为%H:%M:%S.
mean
works as expected. You can format the date to %H:%M:%S afterwards.
df <- read.table(text="provider time
USA 9:26:46
USDA 9:26:18
USDA 9:10:17
OIL 10:00:00
USA 6:20:56
USDA 7:19:13
OIL 11:00:00",head=TRUE)
df$time <- as.POSIXct(df$time,format="%T",origin="1970-01-01")
format(as.POSIXct(tapply(df$time,df$provider,mean),origin="1970-01-01"),format="%H:%M:%S")
OIL USA USDA
"10:30:00" "07:53:51" "08:38:36"
获取提供商名称:
m <- format(as.POSIXct(tapply(df$time,df$provider,mean),origin="1970-01-01"),format="%H:%M:%S")
m <- as.data.frame(m)
m$provider <- row.names(m)
这篇关于R POSIX%H:%M:%S平均时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文