首页 > 解决方案 > 在 Excel 中为日期分配索引值

问题描述

我有一个看似容易解决的问题,但我真的被困住了!我有一组日期,我的目标是为这些日期分配一个索引值。具体来说,我希望每年的每个月都有一个唯一的索引值。为了可视化我想要做什么,我有以下日期,你可以看到 96 年 1 月的值为 1,96 年 2 月为 2,96 年 3 月为 3,依此类推。注:从 1996 年到 2018 年也有很多年,这意味着 1997 年 1 月在指数中应该有值 13。

Date         Index
01/01/1996    1
02/01/1996    1
03/01/1996    1
04/01/1996    1
05/01/1996    1
08/01/1996    1
01/02/1996    2
02/02/1996    2
05/02/1996    2
06/02/1996    2
07/02/1996    2
08/02/1996    2
09/02/1996    2 
01/03/1996    3
04/03/1996    3
05/03/1996    3
06/03/1996    3
07/03/1996    3
08/03/1996    3
11/03/1996    3

我试图在 R 或 Excel 中实现这一点。

标签: rexceldateindexing

解决方案


假设您在 R 中读取日期并且它们是 typecharacter而不是Date,这将起作用:

mydf$index2 <- as.numeric(as.factor(substring(mydf$Date, 4)))
mydf
#         Date Index Index2
#1  01/01/1996     1      1
#2  02/01/1996     1      1
#3  03/01/1996     1      1
#4  04/01/1996     1      1
#5  05/01/1996     1      1
#6  08/01/1996     1      1
#7  01/02/1996     2      2
#8  02/02/1996     2      2
#9  05/02/1996     2      2
#10 06/02/1996     2      2
#11 07/02/1996     2      2
#12 08/02/1996     2      2
#13 09/02/1996     2      2
#14 01/03/1996     3      3
#15 04/03/1996     3      3
#16 05/03/1996     3      3
#17 06/03/1996     3      3
#18 07/03/1996     3      3
#19 08/03/1996     3      3
#20 11/03/1996     3      3

mydf是您的 data.frame 名称。在上面的代码中,我将日期子集化以提取月份和年份,然后转换为因子,然后转换为创建索引的数字。


推荐阅读