我有许多数据框,我想对其应用相同的功能。
上下文:我有记录主题时间窗口的数据框,指示符为 0/1,表示在该时间窗口中是否发生了事件。一个例子:
ID start stop event
1 0 12 0
1 12 24 0
1 24 36 1
1 36 48 1
2 0 12 0
等等我有一个函数,它在每个 id 的第一个事件之后删除每个条目,例如,在上面的例子中,ID = 1,开始时间 = 36 的记录。
一个数据集的代码是:(数据集称为 event1 ,IDT 为 ID)
list1 <- which(event1$event == 1)
while(length(list1) >= 1){
id <- event1[ list1[ 1 ] , ]$IDT
idplus1 <- event1[ ( list1[1] + 1) , ]$IDT
b <- which( event1$IDT == id )
if( id == idplus1 ){
event1 <- event1[- ( ( list1[1] + 1 ) : b[ length(b) ] ) , ]
}
list1 <- list1[-1]
}
现在,如果我有四个数据集;event1, event2, event3, event4,我想将这个函数应用于每一个,有没有办法定义一个函数来做到这一点?我觉得应该有机会在这里使用 lapply ......