问题:(1)识别“O”的第一个实例的日期,然后(2)在给定的“O”之后识别“A”的第一个实例(3)使用difftime计算时间差。(类似于:特定事件之间的时间计算)
具体问题在于(2),在给定的“O”之后识别“A”的第一个实例。
包含日期和事件列的数据框 (df) 如下所示:
"Date" "Event"
"2000-09-08" "A"
"2000-09-11" "N"
"2000-09-12" "O"
"2000-09-13" "O"
"2000-09-14" "O"
"2000-09-15" "O"
"2000-09-18" "N"
"2000-09-19" "N"
"2000-09-20" "N"
"2000-09-21" "N"
"2000-09-22" "N"
"2000-09-25" "A"
"2000-09-26" "A"
"2000-09-27" "A"
"2000-09-28" "A"
"2000-09-29" "A"
"2000-10-02" "A"
"2000-10-03" "A"
例如,第一个“O”出现在 2000 年 9 月 12 日,之后的第一个“A”出现在 2000 年 9 月 25 日。
至于代码:这正确识别了“O”的第一个实例
df$Date[df$Event=="O"] [1]
"2000-09-12" #correct
但这错误地识别了df的第一个“A”,而不是“O”之后的第一个
df$Date[df$Event=="A"] [1]
"2000-09-12" ##WRONG, correct == "2000-09-25"
这标识了“A”的实例,它是集合的第(## of each "O")
df$Date[df$Event=="A"] [df$Event=="O"]
"2000-10-23" "2000-10-24" "2000-10-25" "2000-10-26" "2001-04-03" "2001-04-04" "2001-06-29"....
我只需要帮助编写这个条件来找到给定“O”之后的第一个 A,以便 difftime 给出正确的天数。