gpt4 book ai didi

r - 在保留类(class)日期的同时将日期格式化为月-年

转载 作者:行者123 更新时间:2023-12-05 01:26:16 25 4
gpt4 key购买 nike

我觉得有一种非常简单的方法可以做到这一点,但我并不容易找到它......

我正在使用 R 从数据集中提取数据,然后他们通过许多不同的特征对其进行总结。其中之一是安排/发生事件的月份。我们在数据库中有事件的确切日期,如下所示:

person_id    date_visit
1 2012-05-03
2 2012-08-13
3 2012-12-12
...

我想用 table()函数生成一个汇总表,看起来像这样:
Month    Freq
Jan 12 1
Feb 12 2
Mar 12 1
Apr 12 3
...

我的问题是这个。我已经阅读并使用了 as.Date() 中的数据将字符串转换为日期。我可以用 format.Date()获取格式为 1 月 12 日、3 月 12 日等的日期。但是当您使用 format.Date() 时,你最终又得到了字符串。这意味着当您申请时 table()对他们来说,它们是按字母顺序出现的(我目前的日期是 8 月 12 日、7 月 12 日、6 月 12 日、3 月 12 日等等)。

我知道在 SAS 中,您可以使用格式来更改日期的外观,同时将其保留为日期(因此您仍然可以对其进行日期运算符)。使用 R 可以做同样的事情吗?

我的计划是通过多个步骤构建一个漂亮的数据框,然后(在确保所有日期都转换为字符串之后,出于兼容性原因)使用 xtable()制作漂亮的 LaTeX 输出。

这是我目前的代码。
load("temp.RData")
ds$date_visit <- as.Date(ds$date_visit,format="%Y-%m-%d")
table(format.Date(safebeat_recruiting$date_baseline,format="%b %Y"))

ETA:如果可以的话,我更愿意只在 Base R 中进行,但如果必须的话,我总是可以使用额外的包。

最佳答案

您可以使用 yearmon来自 zoo 的类包裹

require("zoo")
ds <- data.frame(person_id=1:3, date_visit=c("2012-05-03", "2012-08-13", "2012-12-12"))
ds$date_visit <- as.yearmon(ds$date_visit)
ds
person_id date_visit
1 1 May 2012
2 2 Aug 2012
3 3 Dec 2012

关于r - 在保留类(class)日期的同时将日期格式化为月-年,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11160445/

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