gpt4 book ai didi

r - 为数据帧的每组中的行创建一个序列号(计数器)

转载 作者:行者123 更新时间:2023-12-03 08:34:18 29 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Numbering rows within groups in a data frame

(9 个回答)


4年前关闭。




我们如何在数据帧的每组中生成唯一的 ID 号?以下是按“personid”分组的一些数据:

personid date measurement
1 x 23
1 x 32
2 y 21
3 x 23
3 z 23
3 y 23

我希望为“personid”定义的每个子集中的每一行添加一个具有唯一值的 id 列,始终以 1 开头。 .这是我想要的输出:
personid date measurement id
1 x 23 1
1 x 32 2
2 y 21 1
3 x 23 1
3 z 23 2
3 y 23 3

我很感激任何帮助。

最佳答案

一些 dplyr替代方案,使用便利功能 row_numbern .

library(dplyr)
df %>% group_by(personid) %>% mutate(id = row_number())
df %>% group_by(personid) %>% mutate(id = 1:n())
df %>% group_by(personid) %>% mutate(id = seq_len(n()))
df %>% group_by(personid) %>% mutate(id = seq_along(personid))

您也可以使用 getanID来自包裹 splitstackshape .请注意,输入数据集返回为 data.table .
getanID(data = df, id.vars = "personid")
# personid date measurement .id
# 1: 1 x 23 1
# 2: 1 x 32 2
# 3: 2 y 21 1
# 4: 3 x 23 1
# 5: 3 z 23 2
# 6: 3 y 23 3

关于r - 为数据帧的每组中的行创建一个序列号(计数器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11996135/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com