r - 在 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 中实现这一点。
解决方案
假设您在 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 名称。在上面的代码中,我将日期子集化以提取月份和年份,然后转换为因子,然后转换为创建索引的数字。
推荐阅读
- javascript - Treemap 中不同的工具提示和值 || 海图
- listview - (FLUTTER) ontap ListView(return listTile()) with Streambuilder 导致继承数据为空?
- java - Cassandra - 将一个巨大的字段设置为 null 不归还磁盘空间
- listview - 如何在不将滚动位置重置为顶部的情况下通过 Provider 向 Flutter ListView Builder 添加更多数据
- postgresql - 连接本地 postgres 数据库时,docker pgAdmin4 连接被拒绝
- c# - 将空值插入 DB2 中的整数列
- amazon-web-services - 在 Amazon DynamoDB 上调用 list_append 时,新添加的项目被插入两次
- javascript - 来自 json 数组的 HTML 表中的动态和复杂行跨度
- cpu-architecture - Reordering指令如何解决数据依赖性?
- apache-kafka - 将数据从 Snowflake 移动到 Kafka