2017-05-25 30 views
0

我有一個三列數據框,第一個是id,第二個是事件A發生的事件,第三列是事件B發生的時候。用一個條件在數據框中插入一列

client <- rep(c("A","B","C"),5) 
event_a <- c("2017-04-02","2017-04-07","2017-04-10", "2017-04-13","2017-04- 
17","2017-04-18","2017-04-20","2017-04-22","2017-04-25","2017-04-27","2017- 
04-30","2017-05-10","2017-05-12","2017-05-15","2017-05-20") 
event_b <- c("2017-04-05",NA,"2017-04-11", "2017-04-14",NA,"2017-04- 
20","2017-04-21",NA,"2017-04-30",NA,"2017-04-30",NA,NA,"2017-05-15",NA) 
data <- data.frame(client, event_a, event_b) 

我想知道,如果客戶端發出的事件A事件B之後,或者如果事件B是NA - 一個布爾變量或計數一個。但我喜歡在data.frame中插入此列,以便在第二時刻進行建模。

謝謝!

+0

可不可以給所需輸出的例子! – Vitalijs

+0

我想知道客戶是否回來。如果客戶返回到我的商店,我創建另一行。因此,該功能必須按照以下線路查找客戶,但只有在新線路的事件A大於舊線路時才計數。在這個例子中,輸出將是:c(1,1,1,1,1,1,1,1,1,1,1,1,0,0,0) –

回答

0

我想你想眼前這個

data$logic_value<-!is.na(data$event_b) 
0
data$indicator <- ifelse((as.numeric(as.POSIXct(data$event_a)) > as.numeric(as.POSIXct(data$event_b)) | is.na(data$event_b)), 1, 0) 
相關問題