Вы можете добавить лаг Time1
к кадру данных, а затем отфильтровать строки, где Time1 == Time1_lag
.
Вот как вы можете сделать это только с базовым R:
df <- data.frame(ID = 1:4, Time1 = c(6, 5, 5, 6), Time2 = c(7, 8, 9, 6))
# Remove the last observation and put an NA for the first one to create the lag
df$Time1_lag <- c(NA, df$Time1[-nrow(df)])
# need to worry about the NA in the first row, so add an extra condition
df[df$Time1 != df$Time1_lag | is.na(df$Time1_lag), ]
Вот как вы можете сделать это с пакетом dplyr
:
library(dplyr)
df <- data.frame(ID = 1:4, Time1 = c(6, 5, 5, 6), Time2 = c(7, 8, 9, 6))
df %>% mutate(Time1_lag = lag(Time1)) %>% filter(Time1 != Time1_lag | is.na(Time1))