R 向数据帧添加时机标志
对于每个人,我想在数量大于零时为我的数据帧添加一个场合标志。我需要这个标志来进一步计算。这就是我想要实现的目标R 向数据帧添加时机标志,r,dataframe,R,Dataframe,对于每个人,我想在数量大于零时为我的数据帧添加一个场合标志。我需要这个标志来进一步计算。这就是我想要实现的目标 dfin <- ID AMT 1 50 1 NA 1 10 1 NA 2 15 2 NA 2 NA 3 10 3 15 dfout <- ID AMT FLAG 1 50 1 1 NA 1 1 10 2 1 NA 2 2 15 1 2 NA 1 2 NA 1 3 10 1 3
dfin <-
ID AMT
1 50
1 NA
1 10
1 NA
2 15
2 NA
2 NA
3 10
3 15
dfout <-
ID AMT FLAG
1 50 1
1 NA 1
1 10 2
1 NA 2
2 15 1
2 NA 1
2 NA 1
3 10 1
3 15 2
dfin您可以测试哪些值不是NA并计算累积和
dfout = dfin
dfout$FLAG = cumsum(!is.na(dfin$AMT))
dfout
ID AMT FLAG
1 1 50 1
2 1 NA 1
3 1 10 2
4 1 NA 2
5 2 15 3
6 2 NA 3
7 2 NA 3
8 3 10 4
因为我已经改变了我想要的输出。我在这里是根据@G5W提供的答案回答这个问题的,ID
library(dplyr)
dfout <- dfin %>%
group_by(ID) %>%
mutate(FLAG = cumsum(!is.na(AMT)))
库(dplyr)
dfout%
分组依据(ID)%>%
突变(FLAG=cumsum(!is.na(AMT)))
非常感谢!很抱歉,我稍微更改了我想要的输出。我们可以按照ID