'Conditioning previous values within groups in R
I'm trying to write a code that will allow me to create a TRUE or FALSE variable within the groups name depending on the value of the earliest record of the column poped of the following data.frame: Thank you guys so much in advance for your help!
library(tidyverse)
name<-c("AAA","AAA","AAA","AAA","AAA","AAA","AAA")
poped<-c(NA,1,NA,NA,1,NA,NA)
order<-c(1:7)
tag<-c("X","Y","X","X","Y","X","X")
> df
name order tag poped
1 AAA 1 X NA
2 AAA 2 Y 1
3 AAA 3 X NA
4 AAA 4 X NA
5 AAA 5 Y 1
6 AAA 6 X NA
7 AAA 7 X NA
I want to mutate a two new variable named CHECK and POS
CHECK will take on the values
1= If the closest (above) value where the tag column is Y and poped is 1
0= If the closest (above) value where the tag column is Y and poped is 0
2 = If the current row has tag = Y
NA = Otherwise
POS will take on the value of the closest (above) row number where the tag column is Y and poped is 1, and NA otherwise.
My desired outout will be:
> df
name order tag poped CHECK POS why
1 AAA 1 X NA NA NA There is no previous data
2 AAA 2 Y 1 NA NA current tag = Y
3 AAA 3 X NA 1 2 the closest value above where tag=Y is in row 2 and poped is 1
4 AAA 4 X NA 1 2 the closest value above where tag=Y is in row 2 and poped is 1
5 AAA 5 Y 1 NA NA current tag = Y
6 AAA 6 X NA 1 5 the closest value above where tag=Y is in row 5 and poped is 1
7 AAA 7 X NA 1 5 the closest value above where tag=Y is in row 5 and poped is 1
It will be so much appreciated if you guys could help me out witha solution using tidyverse but I will be open for all posible solutions thank you so much
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
