如何围绕虚拟变量创建事件 window?
How can I create an event window around a dummy variable?
我的面板数据集看起来像这样 table,没有变量“New”。现在我正在尝试创建如下所示的变量“New”:
Symbol Date Close Event Event1 Event1_date New
AAPL 09/03/2020 66,542503 14/03/2020 NA NA NA
AAPL 10/03/2020 71,334999 14/03/2020 NA NA -4
AAPL 11/03/2020 68,857498 14/03/2020 NA NA -3
AAPL 12/03/2020 62,057499 14/03/2020 NA NA -2
AAPL 13/03/2020 69,4925 14/03/2020 NA NA -1
AAPL 16/03/2020 60,552502 14/03/2020 1 16/03/2020 0
AAPL 17/03/2020 63,215 14/03/2020 NA NA 1
AAPL 18/03/2020 61,6675 14/03/2020 NA NA 2
AAPL 19/03/2020 61,195 14/03/2020 NA NA 3
AAPL 20/03/2020 57,310001 14/03/2020 NA NA 4
AAPL 23/03/2020 56,092499 14/03/2020 NA NA NA
VISA 05/03/2020 186,960007 12/03/2020 NA NA NA
VISA 06/03/2020 184,360001 12/03/2020 NA NA -4
VISA 09/03/2020 171,130005 12/03/2020 NA NA -3
VISA 10/03/2020 182,600006 12/03/2020 NA NA -2
VISA 11/03/2020 172,949997 12/03/2020 NA NA -1
VISA 12/03/2020 160,080002 12/03/2020 1 12/03/2020 0
VISA 13/03/2020 175,830002 12/03/2020 NA NA 1
VISA 16/03/2020 152,009995 12/03/2020 NA NA 2
VISA 17/03/2020 157,889999 12/03/2020 NA NA 3
VISA 18/03/2020 148,479996 12/03/2020 NA NA 4
VISA 19/03/2020 152,25 12/03/2020 NA NA NA
VISA 20/03/2020 146,830002 12/03/2020 NA NA NA
但我真的不知道如何让这个新变量起作用。我已经尝试了我发现的另一个代码:
Kurse_Gesamt$New <- head(filter(c(rep(0, 4), Kurse_Gesamt$Event1, rep(0, 4)),
filter=-4:4)[-(4:4)], -4)
但我收到错误消息:
Error in UseMethod("filter") : no applicable method for 'filter'
applied to an object of class "c('double', 'numeric')"
你能帮我创建变量吗?
非常感谢!
这是创建 New
变量的一种方法 -
library(dplyr)
Kurse_Gesamt <- Kurse_Gesamt %>%
group_by(Symbol) %>%
mutate(New = row_number() - match(1, Event1),
New = ifelse(abs(New) > 4, NA, New)) %>%
ungroup
Kurse_Gesamt
# Symbol Date Close Event Event1 Event1_date New
#1 AAPL 09/03/2020 66,542503 14/03/2020 NA <NA> NA
#2 AAPL 10/03/2020 71,334999 14/03/2020 NA <NA> -4
#3 AAPL 11/03/2020 68,857498 14/03/2020 NA <NA> -3
#4 AAPL 12/03/2020 62,057499 14/03/2020 NA <NA> -2
#5 AAPL 13/03/2020 69,4925 14/03/2020 NA <NA> -1
#6 AAPL 16/03/2020 60,552502 14/03/2020 1 16/03/2020 0
#7 AAPL 17/03/2020 63,215 14/03/2020 NA <NA> 1
#8 AAPL 18/03/2020 61,6675 14/03/2020 NA <NA> 2
#9 AAPL 19/03/2020 61,195 14/03/2020 NA <NA> 3
#10 AAPL 20/03/2020 57,310001 14/03/2020 NA <NA> 4
#11 AAPL 23/03/2020 56,092499 14/03/2020 NA <NA> NA
#12 VISA 05/03/2020 186,960007 12/03/2020 NA <NA> NA
#13 VISA 06/03/2020 184,360001 12/03/2020 NA <NA> -4
#14 VISA 09/03/2020 171,130005 12/03/2020 NA <NA> -3
#15 VISA 10/03/2020 182,600006 12/03/2020 NA <NA> -2
#16 VISA 11/03/2020 172,949997 12/03/2020 NA <NA> -1
#17 VISA 12/03/2020 160,080002 12/03/2020 1 12/03/2020 0
#18 VISA 13/03/2020 175,830002 12/03/2020 NA <NA> 1
#19 VISA 16/03/2020 152,009995 12/03/2020 NA <NA> 2
#20 VISA 17/03/2020 157,889999 12/03/2020 NA <NA> 3
#21 VISA 18/03/2020 148,479996 12/03/2020 NA <NA> 4
#22 VISA 19/03/2020 152,25 12/03/2020 NA <NA> NA
#23 VISA 20/03/2020 146,830002 12/03/2020 NA <NA> NA
我的面板数据集看起来像这样 table,没有变量“New”。现在我正在尝试创建如下所示的变量“New”:
Symbol Date Close Event Event1 Event1_date New
AAPL 09/03/2020 66,542503 14/03/2020 NA NA NA
AAPL 10/03/2020 71,334999 14/03/2020 NA NA -4
AAPL 11/03/2020 68,857498 14/03/2020 NA NA -3
AAPL 12/03/2020 62,057499 14/03/2020 NA NA -2
AAPL 13/03/2020 69,4925 14/03/2020 NA NA -1
AAPL 16/03/2020 60,552502 14/03/2020 1 16/03/2020 0
AAPL 17/03/2020 63,215 14/03/2020 NA NA 1
AAPL 18/03/2020 61,6675 14/03/2020 NA NA 2
AAPL 19/03/2020 61,195 14/03/2020 NA NA 3
AAPL 20/03/2020 57,310001 14/03/2020 NA NA 4
AAPL 23/03/2020 56,092499 14/03/2020 NA NA NA
VISA 05/03/2020 186,960007 12/03/2020 NA NA NA
VISA 06/03/2020 184,360001 12/03/2020 NA NA -4
VISA 09/03/2020 171,130005 12/03/2020 NA NA -3
VISA 10/03/2020 182,600006 12/03/2020 NA NA -2
VISA 11/03/2020 172,949997 12/03/2020 NA NA -1
VISA 12/03/2020 160,080002 12/03/2020 1 12/03/2020 0
VISA 13/03/2020 175,830002 12/03/2020 NA NA 1
VISA 16/03/2020 152,009995 12/03/2020 NA NA 2
VISA 17/03/2020 157,889999 12/03/2020 NA NA 3
VISA 18/03/2020 148,479996 12/03/2020 NA NA 4
VISA 19/03/2020 152,25 12/03/2020 NA NA NA
VISA 20/03/2020 146,830002 12/03/2020 NA NA NA
但我真的不知道如何让这个新变量起作用。我已经尝试了我发现的另一个代码:
Kurse_Gesamt$New <- head(filter(c(rep(0, 4), Kurse_Gesamt$Event1, rep(0, 4)),
filter=-4:4)[-(4:4)], -4)
但我收到错误消息:
Error in UseMethod("filter") : no applicable method for 'filter' applied to an object of class "c('double', 'numeric')"
你能帮我创建变量吗?
非常感谢!
这是创建 New
变量的一种方法 -
library(dplyr)
Kurse_Gesamt <- Kurse_Gesamt %>%
group_by(Symbol) %>%
mutate(New = row_number() - match(1, Event1),
New = ifelse(abs(New) > 4, NA, New)) %>%
ungroup
Kurse_Gesamt
# Symbol Date Close Event Event1 Event1_date New
#1 AAPL 09/03/2020 66,542503 14/03/2020 NA <NA> NA
#2 AAPL 10/03/2020 71,334999 14/03/2020 NA <NA> -4
#3 AAPL 11/03/2020 68,857498 14/03/2020 NA <NA> -3
#4 AAPL 12/03/2020 62,057499 14/03/2020 NA <NA> -2
#5 AAPL 13/03/2020 69,4925 14/03/2020 NA <NA> -1
#6 AAPL 16/03/2020 60,552502 14/03/2020 1 16/03/2020 0
#7 AAPL 17/03/2020 63,215 14/03/2020 NA <NA> 1
#8 AAPL 18/03/2020 61,6675 14/03/2020 NA <NA> 2
#9 AAPL 19/03/2020 61,195 14/03/2020 NA <NA> 3
#10 AAPL 20/03/2020 57,310001 14/03/2020 NA <NA> 4
#11 AAPL 23/03/2020 56,092499 14/03/2020 NA <NA> NA
#12 VISA 05/03/2020 186,960007 12/03/2020 NA <NA> NA
#13 VISA 06/03/2020 184,360001 12/03/2020 NA <NA> -4
#14 VISA 09/03/2020 171,130005 12/03/2020 NA <NA> -3
#15 VISA 10/03/2020 182,600006 12/03/2020 NA <NA> -2
#16 VISA 11/03/2020 172,949997 12/03/2020 NA <NA> -1
#17 VISA 12/03/2020 160,080002 12/03/2020 1 12/03/2020 0
#18 VISA 13/03/2020 175,830002 12/03/2020 NA <NA> 1
#19 VISA 16/03/2020 152,009995 12/03/2020 NA <NA> 2
#20 VISA 17/03/2020 157,889999 12/03/2020 NA <NA> 3
#21 VISA 18/03/2020 148,479996 12/03/2020 NA <NA> 4
#22 VISA 19/03/2020 152,25 12/03/2020 NA <NA> NA
#23 VISA 20/03/2020 146,830002 12/03/2020 NA <NA> NA