gpt4 book ai didi

R:添加一个 dplyr 组标签作为数字

转载 作者:行者123 更新时间:2023-12-02 06:13:43 24 4
gpt4 key购买 nike

<分区>

我无法理解这一定很简单的任务。如何获取组标签为连续数字。

library(dplyr)
set.seed(1)
df <- data.frame(id = sample(c('a','b'), 20, T),
name = sample(c('N1', 'N2', 'N3'), 20, T),
val = runif(20)) %>%
group_by(id) %>%
arrange(id, name)

我想要的是一个标签 group_no,它指示每个 id dplyr 组中变量 name 的类别数。我在 dplyr 包本身找不到解决方案。像这样:

# A tibble: 20 x 4
# Groups: id [2]
id name val group_no
<fct> <fct> <dbl> <int>
1 a N1 0.647 1
2 a N1 0.530 1
3 a N1 0.245 1
4 a N2 0.693 2
5 a N2 0.478 2
6 a N2 0.861 2
7 a N3 0.821 3
8 a N3 0.0995 3
9 a N3 0.662 3
10 b N1 0.553 1
11 b N1 0.0233 1
12 b N1 0.519 1
13 b N2 0.783 2
14 b N2 0.789 2
15 b N2 0.477 2
16 b N2 0.438 2
17 b N2 0.407 2
18 b N3 0.732 3
19 b N3 0.0707 3
20 b N3 0.316 3

请注意,name 的值可以是任何值,当然通常不会像示例中那样以数字为后缀(否则我可以执行 sub("^N", "", df$name).

我正在寻找与 SO 帖子中的 1:n() 解决方案略有不同的东西,例如 here .

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