r - 如何使用 dplyr 根据两列值给出相同的行号
问题描述
数据集看起来像
var1 var2
a 1
a 1
b 2
b 2
a 1
a 1
c 3
c 3
新的数据集应该是:
var1 var2 id
a 1 1
a 1 1
b 2 2
b 2 2
a 1 3
a 1 3
c 3 4
c 3 4
解决方案
我使用 data.table
df1<-
data.table::fread("var1 var2
a 1
a 1
b 2
b 2
a 1
a 1
c 3
c 3")
df1$id <- data.table::rleidv(df1)
# var1 var2 id
#1: a 1 1
#2: a 1 1
#3: b 2 2
#4: b 2 2
#5: a 1 3
#6: a 1 3
#7: c 3 4
#8: c 3 4
推荐阅读
- scala - 当使用 scala 路径相关类型作为函数 codomain 时,为什么无法为该函数添加别名?
- kivy - KivyMD:无论如何尝试,小部件文本都不会更新
- html - CSS 图片库页面的边距空间比其他页面少?如何在所有页面上获得干净统一的布局外观?
- laravel - 502 错误网关 nginx/1.21.1
- python - 如何使用线程在文本文件中每行发布请求
- reactjs - Ant design Collapse - 展开/折叠所有按钮
- sql - 如何使用 1 个 SQL 查询从 1 个表中的 1 个列中计算 2 个(部分)值
- javascript - 如何在JS中实现随机出价增加100的逻辑
- node.js - 如何从 Amazon S3 检索图像并将其从后端发送到前端?
- sql - 任何 SQL 专家都可以检查我的 SQL 查询吗,它没有用