我觉得有一个非常简单的方法可以做到这一点,但我不容易找到它......
我正在使用 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()
用来获取格式为 Jan 12、Mar 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 中做,但如果必须,我总是可以使用额外的包。