【发布时间】:2022-01-16 03:42:30
【问题描述】:
我有一个包含 POSIXct 格式的日期和时间的大型数据集。这基本上跨越了两个学年。
#Earliest / last log
#2018-09-02 14:46:56
#2020-10-12 23:30:13
我设法在 2019 年 9 月 1 日添加了一个学年 True / False 列来拆分两年:
MViews$AcademicYear1819 <- MViews$earliestlog <= as.Date("2019-09-01 00:00:00")
当我绘制这个 ggplot 时,将所有内容按时间顺序放在 x 轴上,但我想将两个学年相互叠加。
MViews %>%
ggplot(aes(x = earliestlog, fill = "red")) + geom_density(alpha = 0.5)
所以基本上 2018 年 9 月和 2019 年 9 月都从 x = 0 开始。
我尝试了很多东西,但不幸的是没有任何效果。我什至尝试将一年前的学年返回为 true 的所有值增加一年,但这无论如何都不起作用。
MViews$EL <- MViews$EL[MViews$AcademicYear1819] %m+% years(1) & MViews$EL[!MViews$AcademicYear1819]
UseMethod("reclass_date", orig) 中的错误:
没有适用于“重新分类日期”的方法应用于“NULL”类的对象
另外:警告信息:
1:未知或未初始化的列:EL。
【问题讨论】:
-
制作一个“假日期”列,其中所有的 9-12 月都是同一年(比如 2018 年),所有 1-8 月的日期都是明年(2019 年),然后把假的x 轴上的日期列。
-
如果您需要更多帮助,请添加足够的数据来重现问题,最好以复制/粘贴的方式,
dput(MViews[1:10, ])将为我们提供前 10 行的复制/粘贴版本 -选择一个合适的子集。