在列中查找起始值并递增 1 直到去年
Finding start value in a column and increment by 1 until the last year
我试图找到虚拟变量的起始值并将其递增 1。
这是一个示例数据:
id = c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4)
date = c(2010,2011,2012,2013,2014,2010,2011,2012,2013,2014,2010,2011,2012,2013,2014,2010,2011,2012,2013,2014)
income = c(100,20,45,50,70,45,66,21,45,234,124,5325,645,23234,2352,456,24234,34656,5633,13524)
participation = c(0,0,0,1,0,1,1,1,0,0,1,0,1,0,1,0,0,0,1,1)
df <- data.frame(id,date,income,participation)
为了描述这些数据,我为每个人的收入和参与创建了一个纵向数据,日期为 2010 年到 2014 年 activity。我试图了解参与对他们的加班收入的影响。我正在描绘的是以下内容:
id = c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4)
date = c(2010,2011,2012,2013,2014,2010,2011,2012,2013,2014,2010,2011,2012,2013,2014,2010,2011,2012,2013,2014)
income = c(100,20,45,50,70,45,66,21,45,234,124,5325,645,23234,2352,456,24234,34656,5633,13524)
participation = c(0,0,0,1,2,1,2,3,4,5,1,2,3,4,5,0,0,0,1,2)
df <- data.frame(id,date,income,participation)
老实说,我迷路了,因为参与价值已经是一个虚拟变量。有没有办法通过小组参与和约会来产生增量?任何想法都会有所帮助。谢谢!
按'id'分组后,得到'participation'的cummax
,然后对其进行累加
library(dplyr)
df %>%
group_by(id) %>%
mutate(participation = cumsum(cummax(participation)))
我试图找到虚拟变量的起始值并将其递增 1。
这是一个示例数据:
id = c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4)
date = c(2010,2011,2012,2013,2014,2010,2011,2012,2013,2014,2010,2011,2012,2013,2014,2010,2011,2012,2013,2014)
income = c(100,20,45,50,70,45,66,21,45,234,124,5325,645,23234,2352,456,24234,34656,5633,13524)
participation = c(0,0,0,1,0,1,1,1,0,0,1,0,1,0,1,0,0,0,1,1)
df <- data.frame(id,date,income,participation)
为了描述这些数据,我为每个人的收入和参与创建了一个纵向数据,日期为 2010 年到 2014 年 activity。我试图了解参与对他们的加班收入的影响。我正在描绘的是以下内容:
id = c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4)
date = c(2010,2011,2012,2013,2014,2010,2011,2012,2013,2014,2010,2011,2012,2013,2014,2010,2011,2012,2013,2014)
income = c(100,20,45,50,70,45,66,21,45,234,124,5325,645,23234,2352,456,24234,34656,5633,13524)
participation = c(0,0,0,1,2,1,2,3,4,5,1,2,3,4,5,0,0,0,1,2)
df <- data.frame(id,date,income,participation)
老实说,我迷路了,因为参与价值已经是一个虚拟变量。有没有办法通过小组参与和约会来产生增量?任何想法都会有所帮助。谢谢!
按'id'分组后,得到'participation'的cummax
,然后对其进行累加
library(dplyr)
df %>%
group_by(id) %>%
mutate(participation = cumsum(cummax(participation)))