r - 根据重复 ID 创建唯一 ID
问题描述
我从一位同事那里收到了一些数据,他正在处理在几个样带中记录的动物观察结果。但是,我的同事使用相同的三个 ID 代码来识别每个样带:1、7、13 和 19。我想用唯一 ID 替换重复的 ID。这张图片显示了我想要做的事情:
下面是对应的代码:
example_data<-structure(list(ID_Transect = c(1L, 1L, 1L, 1L, 1L, 1L, 7L, 7L,
7L, 7L, 7L, 7L, 13L, 13L, 13L, 13L, 13L, 13L, 19L, 19L, 19L,
19L, 19L, 19L, 1L, 1L, 1L, 1L, 1L, 1L, 7L, 7L, 7L, 7L, 7L, 7L),
transect_id = c(1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L,
2L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L,
5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L)), class = "data.frame", row.names = c(NA,
-36L))
解决方案
我们也可以做
library(data.table)
setDT(example_data)[, transect_id := rleid(ID_Transect)]
推荐阅读
- ios - 目标 C:NSDictionnary 无序
- java - spring boot 启动报错 BOOT-INF/classes not found
- java - 通过 JMockit 为每个集成测试清除模拟
- node.js - 如何使用 ASK-SDK v2 中的 handlerInput 获取自定义意图槽值
- r - R:从矩阵中提取一个圆
- php - 根据日期返回一个函数
- flask - Flask flash 消息导致 Session 不可用
- linkedin - LinkedIn 登录 API 最近间歇性失败
- mysql - 在数据没有键的情况下使用 JSON 提取
- python-3.x - Pandas 聚合特定列中特定值以外的数据