r - 在 R 中分配组 id 从 0 开始并以 1 结束
问题描述
我有一个数据集如下
DT <- data.drame(v1 = c(0,0,0,1,0,0,1))
我想创建一个累积停止在值 1 的 ID。
身份证应该是
ID<-c(1,2,3,4,1,2,3)
解决方案
If you are using dplyr, this will do the trick.
DT = data.frame(v1 = c(0,0,0,1,0,0,1))
DT %>%
dplyr::mutate(rno = row_number()) %>%
dplyr::mutate(group = ifelse(v1 == 0, NA, rno)) %>%
tidyr::fill(group, .direction = "up") %>%
dplyr::group_by(group) %>%
dplyr::mutate(ID = row_number()) %>%
dplyr::ungroup() %>%
dplyr::select(v1, ID)
推荐阅读
- r - 计算 R 中多列的词频
- selenium - Selenium:表单中具有相同类名的两个按钮
- javascript - 邮递员:如何验证 JSON 响应中的密钥
- javascript - 是否可以为 async.series 动态创建函数数组
- flask - Flask:如何在几个模板文件中包含带有占位符的 html?
- opencv - 在 imx6 板上处理视频和传输的最佳方法是什么?
- javascript - 使用Rails Simple Form gem时如何通过JS onclick更改输入字段值
- jakarta-ee - 使用`@DataSourceDefinition`(或@MailSessionDefinition)时是否可以隐藏密码
- c# - 使 c# Windows 窗体工具公开
- python - python中列表组合的问题