で見つけてください。コロンビアでは、月曜日の15日と最後の日に給与が(主に)2週間ごとに支払われます。私は売り上げ日から新しい変数を生成しようとしています。売り上げ量との相関が高いと期待しています:最後の給料日からの日数、私は単純な差として計算することができます。支払日の日付を持つ。最も近い二週間の日付をR
このように私は、我々は唯一の営業日数の世話ウィッヒからその日付の売上のデータフレームa
を持っている:
structure(list(date = structure(c(1423121832, 1423988603, 1424779384,
1425132001, 1427800333), tzone = "UTC", class = c("POSIXct",
"POSIXt"))), .Names = "date", row.names = c(NA, -5L), class = "data.frame")
私はそれぞれに最も近い給料日のベクトルを生成したいですしかし、毎月末には対処できませんでした。私が手ウィッヒから
library(lubridate)
cbind(a,
basedate = as.Date(
ifelse(day(a$date) %in% c(15:31),
floor_date(a$date, "month")+(3600*24*14),
floor_date(a$date, "month") - (3600 * 24))/(3600 * 24),
origin = origin))
:ベクトルをbasedate
date basedate
1 2015-02-05 07:37:12 2015-01-31
2 2015-02-15 08:23:23 2015-02-15
3 2015-02-24 12:03:04 2015-02-15
4 2015-02-28 14:00:01 2015-02-15
5 2015-03-31 11:12:13 2015-03-15
は、行4と5で間違っている私は年代basedate
2最後は2015-02-28
と2015-03-31
になりたい私はで残りの部分を解決しました。私は私が持っているコードで別のifelse
を入れ子にすることでそれを得ることができると知っていますが、確かにの簡単な方法であり、私はそれに会っていません。
日付に最も近い2週間(支払日)を正しく特定するにはどうすればよいですか? (私はbase
またはlubridate
ソリューションを好むだろう。しかし、問題を処理し、他のパッケージは歓迎されている)
"最後の給料日からの日数"、「最後に、あなたはpaydateと現在の日付の間の差を計算することができます最も近い給料日を各日付に合わせる " - それらの1つを決定する。 – Roland
@Rolandご意見ありがとうございます。私はすでにしています: "私は支払日の日付を持つと私は単純な違いとして計算することができます"。つまり、最も近い給料日を計算する方法、残りの手数料を計算する – PavoDive
最後の給料日からの日数を計算する方法があれば、私もそれを学びたいです! – PavoDive