I have the following dataset:
test_df=data.frame(Group=c(1,1,1,1,2,2),var1=c(1,0,0,1,1,1),var2=c(0,0,1,1,0,0),var3=c(0,1,0,0,0,1))
| Group | var1 | var2 | var3 | 
|---|---|---|---|
| 1 | 1 | 0 | 0 | 
| 1 | 0 | 0 | 1 | 
| 1 | 0 | 1 | 0 | 
| 1 | 1 | 1 | 0 | 
| 2 | 1 | 0 | 0 | 
| 2 | 1 | 0 | 1 | 
I want to add 3 columns (out1-3) for var1-3, which count number of rows until the first 1, by Group,
as shown below:
| Group | var1 | var2 | var3 | out1 | out2 | out3 | 
|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 1 | 3 | 2 | 
| 1 | 0 | 0 | 1 | 1 | 3 | 2 | 
| 1 | 0 | 1 | 0 | 1 | 3 | 2 | 
| 1 | 1 | 1 | 0 | 1 | 3 | 2 | 
| 2 | 1 | 0 | 0 | 1 | 0 | 2 | 
| 2 | 1 | 0 | 1 | 1 | 0 | 2 | 
I used this R code, I repeated it for my 3 variables, and my actual dataset contains more than only 3 columns. But it is not working:
test_var1<-select(test_df,Group,var1 )%>% 
  group_by(Group) %>% 
  mutate(out1 = row_number()) %>% 
  filter(var1 != 0) %>% 
  slice(1)
 
     
    