自分の週に基づいてデータにラベルを付けることを希望します。これが私のデータである。グループを週単位でグループ化するR
df2 <- structure(list(Order_Date = structure(c(16735, 16805, 16753,
16830, 17075, 17009, 17085, 16740, 16891, 16750, 16820, 16849,
16906, 16929, 16746, 16731, 16786, 16873, 16895, 16931), class = "Date")), .Names = "Order_Date", row.names = c(NA,
-20L), class = "data.frame")
と私は週(0番目の週、1番目の週と....)に基づいてラベルを付けしようとしましたが、私は週によってグループに自分のデータを願っ後で
そして、私はこれを試してみました:
# order by data
library (dplyr)
df2<- arrange(df2, Order_Date)
# label them by week
$df2$week <- cumsum(weekdays(df2$Order_Date) == "Friday")
それは私に正しい結果が得られていないと私は
Order_Date week
1 2015-10-27 0
2 2016-01-05 0
3 2015-11-14 0
4 2016-01-30 0
5 2016-10-01 0
6 2016-07-27 0
7 2016-10-11 0
8 2015-11-01 0
9 2016-03-31 0
10 2015-11-11 0
11 2016-01-20 0
12 2016-02-18 0
13 2016-04-15 1
14 2016-05-08 1
15 2015-11-07 1
16 2015-10-23 2
17 2015-12-17 2
18 2016-03-13 2
19 2016-04-04 2
20 2016-05-10 2
奇妙で、以下の出力を、持っている
理想的には、私はこの出力を有するたい:
Order_Date label
1 2015-10-23 0
2 2015-10-27 0
3 2015-11-01 1
4 2015-11-07 2
5 2015-11-11 2
6 2015-11-14 3
7 2015-12-17 8
8 2016-01-05 10
行番号8は、10週の行番号1の後に発生するだけでなく、次のように生成する溶液は、これらのデータはしていない示す私の第二の代替であるため同じ週:
Order_Date label
1 2015-10-23 0
2 2015-10-27 0
3 2015-11-01 1
4 2015-11-07 2
5 2015-11-11 2
6 2015-11-14 3
7 2015-12-17 4
8 2016-01-05 5
あなたの予想される出力は何ですか? – akrun
@akrun私は質問を更新しますが、まだ明らかでない場合は教えてください。 – MFR
なぜあなたは 'cumsum(weekdays(df2 $ Order_Date)==" Friday ")'あなたに週番号を与えると思いますか?その列の日付の累積数は、金曜日(ただし、順序付けされておらず、毎日または週には適用されません。金曜日または2時をスキップするとどうなりますか?)にのみ表示されます。それは週番号とは関係がありません。 – smci