【发布时间】:2016-03-14 21:53:09
【问题描述】:
目标:绘制时间序列。
问题:X 轴数据当然被视为一个字符,我无法将字符转换为日期。
new.df <- df %>%
group_by(Month, Year) %>%
summarise(n = n())
new.df <- new.df %>%
unite(Date, Month, Year, sep = "/") %>%
mutate(Total = cumsum(n))
所以,我最终得到一个如下所示的数据框:
Date n Group Total
8/2010 1 1 1
9/2010 414 1 415
etc
我正在尝试将 Date 列转换为 Date 格式。该列是一个字符类。所以,我试着做
new.df$Date <- as.Date(New.Patients$Date, %m/%Y)
但是,当我这样做时,它会将整个 Date 列替换为 NA。
我不确定这是否是因为我的个位数月份日期前面没有 0。我做了 unite() 函数只是因为我认为它可能会使它更容易,但它可能不会。
我最初使用 lubridate 包创建了 Year/Month 变量,但我不确定是否可以将其合并到这里。如果有人可以告诉我如何加分。
我将不胜感激任何帮助或指导。我确定这并不难,我现在只是在放屁。
【问题讨论】:
-
日期也需要一天。也许试试
as.Date(paste("01", New.Patients$Date, sep="/"), "%d/%m/%Y")。或使用lubridate::parse_date_time("8/2010", "mY")。 -
是的。做到了。我在类似的线程中看到了该解决方案,但我不明白粘贴部分实际修复的是什么(在我自己尝试实现的版本中也没有工作)。我没有意识到日期需要天......所以,通过粘贴“01”,我们基本上只是添加了一个人工日期,对吧?
标签: r date formatting time-series