gpt4 book ai didi

r - 使用 seq.Date 作为时间序列的 stat_bin 中的中断

转载 作者:行者123 更新时间:2023-12-01 21:50:33 29 4
gpt4 key购买 nike

我正在尝试使用 ggplot2 中的 stat_bin 函数按月对几年观察中的时间序列数据进行分类。代码如下所示:

month.breaks<-seq.Date(from=min(afg$DateOccurred),to=max(afg$DateOccurred),by="month")  # All months, for breaks
report.region<-ggplot(afg,aes(x=DateOccurred))+stat_bin(aes(y=..density..,fill=Type),breaks=month.breaks)+facet_wrap(~Region)
print(report.region)

但是,当我运行打印时,出现以下错误:

Error in `+.Date`(left, right) : binary + is not defined for Date objects

如果我正确地阅读了此内容,则没有为 Date 对象定义加号运算符,因此无法执行这种类型的分箱?

最佳答案

当我在其他情况下从 ggplot2 中得到该错误时,我已经能够在我用于中断的序列周围使用 as.numeric() 了。例如,

library(lubridate)
library(ggplot2)
library(scales)

somedates <- ymd(20130101) + ddays(runif(100, 0, 364)) #generate some fake event dates
somedatesformatted <- data.frame(Dates=as.Date(somedates)) #format them as data ggplot likes
monthbins <- as.numeric(seq(as.Date('2013-01-01'), as.Date('2014-01-01'), '1 month')) # generate breaks for binning event dates and wrap in as.numeric()

ggplot(somedatesformatted, aes(x=Dates)) +
stat_bin(breaks=monthbins) +
ylab("Events per Month") +
ylim(c(0,30)) +
scale_x_date(breaks = '1 month',
labels = date_format("%b"),
limits = c(as.Date('2013-01-01'), as.Date('2013-12-31')))

关于r - 使用 seq.Date 作为时间序列的 stat_bin 中的中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3340582/

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