gpt4 book ai didi

datetime - 在 R 中处理日期和时间

转载 作者:行者123 更新时间:2023-12-02 20:22:22 25 4
gpt4 key购买 nike

我有一个包含 2 列的数据框,第一列包含日期,第二列包含时间,格式为:

     date         time        
[1,] "2003-10-03" "22:32:00"
[2,] "2003-10-05" "17:43:06"
[3,] "2003-10-10" "18:45:56"
[4,] "2003-11-12" "17:07:16"
[5,] "2003-11-13" "12:48:04"
[6,] "2003-11-13" "18:17:57"

我想为这些数据创建一些直方图,查看每年、每月和一天中特定时间的事件数量。

今年很容易

hist(as.Date(df[,1]), "years")

现在,要获取我使用的每月事件数(不考虑年份):

 months = c("January", "February", "March", 
"April", "May", "June", "July",
"August", "September", "October",
"November", "December")
tb <- table(factor(months.Date(dt), levels=months)
barplot(tb)

问题:

  1. 是否有更好的方法来制作每月的直方图?
  2. 如何在一天中的某个时间做同样的事情(每小时的垃圾箱就足够了)?

谢谢

最佳答案

我会使用 xts,特别是当您的 data.frame 中有除日期和时间之外的数据时。

df$count <- 1
x <- xts(df$count,as.POSIXct(paste(df$date,df$time)))

# create aggregates and plot with plot.zoo()
plot.zoo(period.apply(x, endpoints(index(x),"years"), sum), type="h")
plot.zoo(period.apply(x, endpoints(index(x),"quarters"), sum), type="h")
plot.zoo(period.apply(x, endpoints(index(x),"months"), sum), type="h")
plot.zoo(period.apply(x, endpoints(index(x),"weeks"), sum), type="h")
plot.zoo(period.apply(x, endpoints(index(x),"days"), sum), type="h")
plot.zoo(period.apply(x, endpoints(index(x),"hours"), sum), type="h")

关于datetime - 在 R 中处理日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4809285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com