2017-05-25 3 views
0

3つの列を持つデータフレームがあります。最初はID、イベントBが発生したときは2番目、イベントBが発生したときは3番目の列です。1つの条件を持つデータフレームに列を挿入する

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) 

私は、クライアントがイベントBの後にイベントAを行う場合、またはイベントBがNAであるかどうかを知りたい - ブール変数またはcount 1。しかし、この列をdata.frameに挿入して、2番目の瞬間にモデル化するのが好きです。

ありがとうございました!

+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) 
関連する問題