r - 为列中的每个组分配一个整数
问题描述
我有一个像这样组织的数据集
Date:
4/2/2018
5/6/2018
4/2/2018
7/1/2018
7/1/2018
5/6/2018
我希望它像这样组织:
Date: ID:
4/2/2018 1
5/6/2018 2
4/2/2018 1
7/1/2018 3
7/1/2018 3
5/6/2018 2
有谁知道如何做到这一点?我的数据被组织在一个数据表中,其中日期为列之一,我需要创建一个名为 id 的新列。
解决方案
我们可以使用rleid
from data.table
:
library(data.table)
dt[order(Date),ID:=rleid(Date)]
结果:
Date ID
1: 4/2/2018 1
2: 5/6/2018 2
3: 4/2/2018 1
4: 7/1/2018 3
5: 7/1/2018 3
6: 5/6/2018 2
数据:
dt <- read.table(text = "Date
4/2/2018
5/6/2018
4/2/2018
7/1/2018
7/1/2018
5/6/2018", header = TRUE, stringsAsFactors = FALSE)
setDT(dt)
推荐阅读
- react-native - React-Navigation 5 TypeError:无法读取未定义的属性'_context' 此错误位于forwardRef(BaseNavigationContainer)
- java - 如何实现在 X 分钟内未收到任何事件后发出的 Flink 事件时间触发器
- c# - Discord.NET 从一个控制台应用程序项目运行多个机器人
- reactjs - 命令 create-react-app 不运行,它会产生错误
- javascript - 基于另一个 CSS 样式元素的 Javascript 内联旋转变换样式
- javascript - 将 PHP 变量传递给 javascript,包括引号和 javascript
- java - 如何动态更改状态栏中的文本
- python - python应用程序在我使用vpn或@work的地方不起作用
- python-3.x - 如何在用户定义的函数中使用 print() 实现多行打印?
- reactjs - 将单个表条目传递给反应中的另一个兄弟组件