Ich habe einen Datenrahmen (df1) mit einer ID-Variablen und zwei Datumsvariablen (dat1 und dat2).Wie verwende ich dplyr() um Beobachtungen basierend auf dem Unterschied zwischen zwei Daten zu unterteilen
Ich möchte den Datenrahmen unterteilen, so dass ich die Beobachtungen, für die der Unterschied zwischen dat2 und dat1 ist weniger als oder gleich 30 Tage erhalten.
Ich versuche dplyr() zu verwenden, aber ich kann es nicht funktionieren.
Jede Hilfe würde sehr geschätzt werden.
Startpunkt (df):
df1 <- data.frame(ID=c("a","b","c","d","e","f"),dat1=c("01/05/2017","01/05/2017","01/05/2017","01/05/2017","01/05/2017","01/05/2017"),dat2=c("14/05/2017","05/06/2017","23/05/2017","15/10/2017","15/11/2017","15/12/2017"), stringsAsFactors = FALSE)
Gewünschtes Ergebnis (df):
dfgoal <- data.frame(ID=c("a","c"),dat1=c("01/05/2017","01/05/2017"),dat2=c("14/05/2017","23/05/2017"),newvar=c(13,22))
Aktuelle Code:
library(dplyr)
df2 <- df1 %>% mutate(newvar = as.Date(dat2) - as.Date(dat1)) %>%
filter(newvar <= 30)