0
我的預測與移動假期不完全一致。我想找到一個快速解決方案:爲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然後通過1接下來的3行帶領遊客如果WKN-WKN_2015 == 1然後通過1滯後遊客明年3行
數據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行。 –
'value'和'Volume'從哪裏來? – Nate