gpt4 book ai didi

r - 为 R 中的列的唯一组合创建索引

转载 作者:行者123 更新时间:2023-12-05 08:29:49 25 4
gpt4 key购买 nike

我得到了一组这样的数据:

df = data.frame(A = c(0.1, 0.3, 0.7, 0.9, 0.5, 0.4, 0.3, 0.3, 0.9, 0.9),
B = c(0.5, 0.4, 0.8, 0.6, 0.8, 0.5, 0.4, 0.5, 0.6, 0.5),
D = c(0.2, 0.1, 0.5, 0.8, 0.6, 0.7, 0.1, 0.3, 0.8, 0.3))

但我需要为 A、B 和 D 的所有唯一组合创建一个索引。就像那样:

   index   A   B   D
1 1 0.1 0.5 0.2
2 2 0.3 0.4 0.1
3 3 0.7 0.8 0.5
4 4 0.9 0.6 0.8
5 5 0.5 0.8 0.6
6 6 0.4 0.5 0.7
7 2 0.3 0.4 0.1
8 7 0.3 0.5 0.3
9 4 0.9 0.6 0.8
10 8 0.9 0.5 0.3

请注意,对于第 4 行和第 9 行以及第 2 行和第 7 行,A、B 和 D 之间的组合是相同的。因此,它们接收到相同的索引值

最佳答案

您可以使用以下代码。也许索引的命名与您的输出略有不同,但逻辑是相同的:

library(dplyr)

df %>%
group_by(A, B, D) %>%
mutate(index = cur_group_id()) %>%
ungroup() %>%
arrange(index)

# A tibble: 10 x 4
A B D index
<dbl> <dbl> <dbl> <int>
1 0.1 0.5 0.2 1
2 0.3 0.4 0.1 2
3 0.3 0.4 0.1 2
4 0.3 0.5 0.3 3
5 0.4 0.5 0.7 4
6 0.5 0.8 0.6 5
7 0.7 0.8 0.5 6
8 0.9 0.5 0.3 7
9 0.9 0.6 0.8 8
10 0.9 0.6 0.8 8

关于r - 为 R 中的列的唯一组合创建索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67753884/

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