移動予定の休暇とはあまり関係ない予測があります。ここでrの特定の行に先行または遅れ列を変更してください
は私のデータフレームの構造である:
df1:
Date City Visitors WKN WKN_2015 Holiday
2016-11-06 New York 40000 45 46 No_Holiday
2016-11-13 New York 50000 46 47 No_Holiday
2016-11-20 New York 50000 47 48 Thanksgiving
2016-11-27 New York 100000 48 49 Cyber_Monday
2016-12-04 New York 100000 49 50 No_Holiday
2016-12-11 New York 70000 50 51 No_Holiday
.
.
.
2017-11-23 New York 120000 47 47 Thanksgiving
一般的にあなたが感謝祭の日とサイバー月曜日の街に多くの訪問者を持っているでしょう、私は簡単な修正を見つけようとしています。しかし、私の予測はそれを反映していません。あなたは上記のデータが表示された場合、新しいボリュームだけ感謝祭、サイバー月曜日とサイバー月曜日週間後に変更
df1:
Date City Visitors WKN WKN_2015 Holiday New_Visitors
2016-11-06 New York 40000 45 46 No_Holiday 40000
2016-11-13 New York 50000 46 47 No_Holiday 50000
2016-11-20 New York 50000 47 48 Thanksgiving 100000
2016-11-27 New York 100000 48 49 Cyber_Monday 100000
2016-12-04 New York 100000 49 50 No_Holiday 70000
2016-12-11 New York 70000 50 51 No_Holiday 70000
.
.
.
2017-11-23 New York 120000 47 47 Thanksgiving 120000
:今、私はこのようないくつかのことで簡単な修正をしたいと思います。 2017などのデータが続くため、これを自動化する方法はありますか?
移動する休日に合わせて予測を作成するまで、私は迅速な修正を考えていました。誰かが私を正しい方向に向けることができますか?
私はこのような何かを試してみましたが、私はのみ3週間のラグ/リードを必要とするので、これは動作しません:
df1 <-
df1 %>%
mutate(New_Visitors = ifelse(Holiday == "Thanksgiving", lag(Visitors, (WKN - WKN_2015), Visitors)
ロジック:毎年感謝祭のために検索し、WKNの試合かどうかを確認します。 WKNの違いに基づいて、感謝祭を始めて次の3週間訪問者を調整しないでください。 WKN-WKN_2015は== -1、次の3行に対して1で訪問者をリードしている場合WKN-WKN_2015 == 1は、次の3行に対して1で
データを訪問者に遅れる場合df1 <- structure(list(Date = c("2016-11-06", "2016-11-13", "2016-11-20",
"2016-11-27", "2016-12-04", "2016-12-11", "2017-11-23"), City = structure(c(1L,
1L, 1L, 1L, 1L, 1L, 1L), .Label = "New York", class = "factor"),
Visitors = c(40000L, 50000L, 50000L, 100000L, 100000L, 70000L,
120000L), WKN = c(45L, 46L, 47L, 48L, 49L, 50L, 47L), WKN_2015 = c(46L,
47L, 48L, 49L, 50L, 51L, 47L), Holiday = structure(c(2L,
2L, 3L, 1L, 2L, 2L, 3L), .Label = c("Cyber_Monday", "No_Holiday",
"Thanksgiving"), class = "factor")), .Names = c("Date", "City",
"Visitors", "WKN", "WKN_2015", "Holiday"), row.names = c(NA,
7L), class = "data.frame")
は本当にあなたの見通しが何をしているかを理解していないが、あなたは '使用することができます%<>%'(往復パイプ)(...) 'と言うDF1 <- df1 %>%の変異します' 'df1%<>%mutate(...)' – Nate
@ NathanDay毎年感謝祭を見て、WKNがマッチしているかどうかを確認してください。そうでなければ、WKNの違いに基づいて感謝祭を始めて次の3週間を調整してください。 WKN-WKN_2015 == -1の場合、訪問者数は1、WKN-WKN_2015 == 1の場合は、次の3行の訪問者数は1ずつ減少します。 –
'value'と' Volume'はどこから来ますか? – Nate