如何在R中重复的变量上对新列中的计数进行迭代

时间:2018-10-30 14:32:23

标签: r

我有一个看起来像这样的数据集:

    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

等等。

1 个答案:

答案 0 :(得分:1)

您可以使用arrangemutate来解决此问题。不知道这是否是最简单的方法。

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