如何根据另一列的顺序在数据框中创建一列?

时间:2019-03-01 20:37:19

标签: r dplyr

我有以下数据。frame

{
    "isFullyComplete":true,
    "tasks":[
              {
                 "$type":"Messages.FormType, Messages",
                 "Id":{"ref":"CP"},
                 "status":"Complete"
              }
            ],
     "identity":
              {
                "guid":"3fd3b1c2-c700-e911-8080-005056883684"
              },
              "proRef":"No"
 }

基本上,我想创建一个名为casenum<-c('510-1','510-2','510-2','510-3','510-3','510-3','510-4') chargecode<-c('AA','BB','DD','FF','GG','DD','ZZ') df<-data.frame(casenum,chargecode) casenum chargecode 1 510-1 AA 2 510-2 BB 3 510-2 DD 4 510-3 FF 5 510-3 GG 6 510-3 DD 7 510-4 ZZ 的第三列,该列指示与案件相关的费用代码是第一计数,第二计数还是第三计数。这样看起来像下面的

count

我使用了以下代码

  casenum chargecode count
1   510-1         AA   1
2   510-2         BB   1
3   510-2         DD   2
4   510-3         FF   1
5   510-3         GG   2
6   510-3         DD   3
7   510-4         ZZ   1

但是它没有提供期望的结果。

1 个答案:

答案 0 :(得分:1)

使用dplyr的一种方法:

library("dplyr")
df %>% 
  group_by(casenum) %>% 
  # Add row number within a group, i.e., the order of occurrence
  mutate(count = row_number()) %>% 
  ungroup()