【问题标题】:R - count ordered sequence [duplicate]R - 计数有序序列[重复]
【发布时间】:2016-05-17 05:46:35
【问题描述】:

我无法按顺序计算变量的值。

我的数据是这样的

   IDPERS    value year divorce
1  371102  married    1       0
2  371102 divorced    2       1
3  371102 divorced    3       1
4  371102       NA    4       0
5  371102 divorced    5       1
6  371102 divorced    6       1
7  371102       NA    7       0
8  371102       NA    8       0
9  371102 divorced    9       1
10 371102 divorced   10       1
11 371102 divorced   11       1

我想要的,是算离婚比如

   IDPERS    value year divorce divorceEp
1  371102  married    1       0         0
2  371102 divorced    2       1         1
3  371102 divorced    3       1         2
4  371102       NA    4       0         2
5  371102 divorced    5       1         3
6  371102 divorced    6       1         4
7  371102       NA    7       0         4
8  371102       NA    8       0         4
9  371102 divorced    9       1         5
10 371102 divorced   10       1         6
11 371102 divorced   11       1         7

有什么线索可以正确计算这一系列剧集吗?

library(dplyr)
dta %>% mutate(1:sum(divorce)) 

谢谢

dta = structure(list(IDPERS = c(371102, 371102, 371102, 371102, 371102, 
371102, 371102, 371102, 371102, 371102, 371102), value = c("married", 
"divorced", "divorced", "NA", "divorced", "divorced", "NA", "NA", 
"divorced", "divorced", "divorced"), year = 1:11, divorce = c(0, 
1, 1, 0, 1, 1, 0, 0, 1, 1, 1), divorceEp = c(0, 1, 2, 2, 3, 4, 
4, 4, 5, 6, 7)), class = "data.frame", .Names = c("IDPERS", "value", 
"year", "divorce", "divorceEp"), row.names = c(NA, -11L))

【问题讨论】:

    标签: r count dplyr


    【解决方案1】:

    你可以使用cumsum():

    mutate(dta,divorceEp=cumsum(divorce))
       IDPERS    value year divorce divorceEp
    1  371102  married    1       0         0
    2  371102 divorced    2       1         1
    3  371102 divorced    3       1         2
    4  371102       NA    4       0         2
    5  371102 divorced    5       1         3
    6  371102 divorced    6       1         4
    7  371102       NA    7       0         4
    8  371102       NA    8       0         4
    9  371102 divorced    9       1         5
    10 371102 divorced   10       1         6
    11 371102 divorced   11       1         7
    

    【讨论】:

      猜你喜欢
      • 2015-03-09
      • 1970-01-01
      • 2018-09-08
      • 2012-10-16
      • 2021-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多