在R中创建二进制矩阵

anu*_*anu 3 r matrix

我有3个训练集有5个不同的事件: list(c('e1','e3','e4'),c('e2','e4'),c('e1','e3','e5'))

我不知道我的清单中会有多少活动.所以我也需要数他们.这里我以e1到e5事件为例.我可以在m个事件中找到m.如何找到m?一般来说,如何在R中创建m-by-n二进制矩阵,其中m-total事件数,n个训练集数?event-ID可能是随机的,不一定是'eN'类型,如'MX050331','IIF02002'等.

Hon*_*Ooi 5

# per the OP's second edit
# now assumes there are no events that haven't been observed at least once
tr <- list(c('e1','e3','e4'),c('e2','e4'),c('e1','e3','e5'))
e <- unique(unlist(tr))
sapply(tr, function(x) e %in% x)
Run Code Online (Sandbox Code Playgroud)

  • 而这一次,我没有必要转换"sapply"的结果! (3认同)
  • @anu也许你应该把你对事件的了解放到你的问题中,而不是去除任意的并发症. (2认同)