如何判断事件1是在事件2之前、之后还是同时发生

  • 本文关键字:事件 之后 之前 何判断 判断 r
  • 更新时间 :
  • 英文 :


R的新功能:如果我对同一ID有多个观察结果,我如何判断每个ID的事件1是在事件2之前、之后还是同时发生?

ID是一个整数。每个ID的观测次数各不相同。时间就是时间段;1,2,。。。t.事件1和2是0/1伪事件。

我需要能够计算事件1在事件2之前、之后或同时发生的次数。看起来这应该很简单/直截了当,但我运气不好。

更新:这应该会给人一种数据的感觉:

my.df <-  structure(list(ID = c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 
3L, 3L), Time = c(1L, 2L, 3L, 4L, 1L, 2L, 3L, 1L, 2L, 3L, 4L, 
5L), Event.1 = c(0L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 1L, 1L, 
1L), Event.2 = c(1L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 0L, 
0L)), .Names = c("ID", "Time", "Event.1", "Event.2"), class = "data.frame", row.names = c(NA, 
-12L))

谢谢!

假设您想计算Event.1在Event.2之前每个ID发生的频率,这将是使用ddply 的快捷方式

ddply(
  my.df, .(ID), summarize,
  Event.1 = sum( Event.1[ seq_len( which.max( Event.2 ) ) ] )
)

它给出

  ID Event.1
1  1       0
2  2       1
3  3       0

最新更新