У меня есть следующий фрейм данных:
x <- seq(1,100, by = 1)
y <- 'A'
z <- 'A'
df1 <- data.frame(ID = x, Status = y, Next_Status = z)
x1 <- seq(1,50, by = 1)
y1 <- 'A'
z1 <- 'I'
df2 <- data.frame(ID = x1, Status = y1, Next_Status = z1)
df <- rbind(df1, df2)
df$Date <- seq(as.Date('2019-01-01'), as.Date('2019-05-30'), by = 'day')
Я хочу отфильтровать фрейм данных таким образом, чтобы я сохранил первую строку и последнюю строку (упорядоченные по дате) идентификатора, который имеет статус= 'A' и Next_Status = 'I' (позднее)
Я попытался отфильтровать фрейм данных следующим образом:
df_filtered <- df %>% filter(Status == 'A' & Next_Status == 'I')
Проблема в том, что я теряю информациюпервый день для этого удостоверения личности, когда это было «А».В конечном итоге я хотел бы узнать, сколько дней конкретный идентификатор оставался в статусе «А».Поэтому я подумал, что если бы я мог отфильтровать кадр данных по первой и последней строке на основе условия в последней строке (Status == 'A' & Next_Status == 'I'), я мог бы тогда вычислить количество дней, в течение которых оно былов состоянии «А», прежде чем он изменился на «Я».Мне было интересно, есть ли решение dplyr для этого?