サービスの日付の後に顧客に請求し、請求していない場合はサービスを停止します。しかし、サービス日付と請求書日付の間の遅れは、顧客が追加のサービスを要求したときに実施することを困難にします。顧客が延滞しているかどうかを判断するには、未払いの請求書が送信された後(サービス日付よりもずっと遅れて送信されている可能性がある)に、新しく要求されたサービスの日付が発生するかどうかを知る必要があります。法案は、彼らの最初のサービスのために送られた前に、彼らは追加のサービスを要求したのであれば、彼らはまだ滞納考えられないグループ別の別の列にある日付の後に1つの列の日付があるかどうかを確認します
サンプルデータ
df <- structure(list(id = structure(c(1L, 2L, 3L, 4L, 1L, 1L, 2L, 3L, 2L, 2L), .Label = c("A", "B", "C", "D"), class = "factor"), service.date = structure(c(1L, 3L, 5L, 6L, 2L, 9L, 4L, 7L, 8L, 10L), .Label = c("2011-01-01", "2011-01-03", "2011-02-01", "2011-03-01", "2011-03-02", "2011-04-02", "2011-05-09", "2011-08-19", "2011-09-02", "2011-09-10"), class = "factor"), bill.date = structure(c(4L, 5L, 2L, 6L, 9L, 1L, 8L, 10L, 3L, 7L), .Label = c("2011-08-09", "2011-08-10", "2011-08-11", "2011-08-12", "2011-08-13", "2011-08-14", "2011-08-15", "2011-08-16", "2011-08-17", "2011-08-19"), class = "factor")), .Names = c("id", "service.date", "bill.date"), class = "data.frame", row.names = c(NA, -10L))
# df
# id service.date bill.date
# A 2011-01-01 2011-08-12
# B 2011-02-01 2011-08-13
# C 2011-03-02 2011-08-10
# D 2011-04-02 2011-08-14
# A 2011-01-03 2011-08-17
# A 2011-09-02 2011-08-09
# B 2011-03-01 2011-08-16
# C 2011-05-09 2011-08-19
# B 2011-08-19 2011-08-11
# B 2011-09-10 2011-08-15
。しかし、法案が発行された後に追加のサービスを要求し、未払いのままであれば、延滞することになります。
ステップ今まで 私の考えは、「毎に、おそらくby()
ように、グループ化機能を使用する要因変数「ID」のレベルに関連付けられた最初の「bill.date」を見つけるために、その後、決定され前記「id」レベルに関連付けられた未払いの「bill.date」の後に発生する場合、各「id」レベルに関連付けられた「service.date」を生成し、最終的に論理変数を作成する。ここで私はで終わるしたいもののサンプルです:
所望の成果だから、サンプルデータで
df$delinquent <- c(FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, TRUE, TRUE)
#df
# id service.date bill.date delinquent
# A 2011-01-01 2011-08-12 FALSE
# B 2011-02-01 2011-08-13 FALSE
# C 2011-03-02 2011-08-10 FALSE
# D 2011-04-02 2011-08-14 FALSE
# A 2011-01-03 2011-08-17 FALSE
# A 2011-09-02 2011-08-09 TRUE
# B 2011-03-01 2011-08-16 FALSE
# C 2011-05-09 2011-08-19 FALSE
# B 2011-08-19 2011-08-11 TRUE
# B 2011-09-10 2011-08-15 TRUE
は、4「顧客(名前はA、B、Cがあり、 D)、そのうち2つは未払いの請求書があるにもかかわらずサービスを受けるために延滞(AとB)とマークされます。