我有一个看起来像这样的数据集:
Num Flavor
1 Chocolate
2 Chocolate
3 Chocolate
4 Strawberry
5 Strawberry
6 Vanilla
7 Chocolate
我的目标是创建一个列,该列对每个唯一值出现在数据中的次数进行计数,在该变量所计数的变量旁边,如下所示:
Num Cnt Flavor
1 1 Chocolate
2 2 Chocolate
3 3 Chocolate
4 1 Strawberry
5 2 Strawberry
6 1 Vanilla
7 4 Chocolate
等等。
答案 0 :(得分:1)
您可以使用arrange
和mutate
来解决此问题。不知道这是否是最简单的方法。
library("tidyverse")
df %>%
arrange(Flavor) %>%
group_by(Flavor) %>%
mutate(Cnt = 1:length(Flavor)) %>%
arrange(Num)
# A tibble: 7 x 3
# Groups: Flavor [3]
Num Flavor Cnt
<int> <fct> <int>
1 1 Chocolate 1
2 2 Chocolate 2
3 3 Chocolate 3
4 4 Strawberry 1
5 5 Strawberry 2
6 6 Vanilla 1
7 7 Chocolate 4