So wie viele der anderen Leute sagten, ohne mehr Informationen (wie die ursprüngliche Beobachtung zum Beispiel aussieht) können wir nicht genau herausfinden, was Ihr Problem ist, ohne einige Annahmen zu treffen.
Ich nahm an, dass Sie eine Datenspalte haben, die das ursprüngliche Datum angibt? Und dass diese Zeilen as.Date
formatiert sind.
#generate Data
Data <- data.frame(ID = as.character(1394:2394),
arrival = sample(seq(as.Date('2015/01/01'), as.Date('2016/01/01'), by = 'day'), 1001, replace = TRUE))
# Make the "Original Observation" Variable
delta_times <- sample(c(3:10), 1001, replace = TRUE)
Data$First <- Data$arrival - delta_times
das gibt mir einen Datensatz, der
ID arrival First
1 1394 2015-11-06 2015-10-28
2 1395 2015-08-04 2015-07-26
3 1396 2015-04-19 2015-04-16
4 1397 2015-05-13 2015-05-03
5 1398 2015-07-18 2015-07-11
6 1399 2015-01-08 2015-01-03
wie folgt aussieht Wenn das der Fall ist, dann ist die Lösung difftime
zu verwenden, etwa so:
# Now we need to make a subsetting variables
Data$diff_times <- difftime(Data$arrival, Data$First, units = "days")
Data$diff_times
within_7 <- subset(Data, diff_times <=7)
max(within_7$diff_times)
Time difference of 7 days
Innerhalb von 7 Tagen von was? Die erste Beobachtung für jede ID? Auch ein 'dput (head (sun_2))' wäre eine hilfreichere Möglichkeit, um Ihre Daten zu präsentieren. –
können Sie ein Beispiel für Ihre Ausgabe angeben? Es wäre toll, reproduzieren Sie Ihre Frage nach den Richtlinien in diesem Link http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-beispiel – theArun
Sorry für schlechte Post ... Ja, innerhalb von 7 Tagen nach der ersten Beobachtung. Es gibt einige Beobachtungen (gleiche IDs), die dupliziert werden, aber ich interessiere mich nur für diejenige, die innerhalb von 7 Tagen nach der ersten Beobachtung eintrifft. – zde