Отстающие финансовые данные в таблице данных R - PullRequest
0 голосов
/ 28 мая 2019

У меня есть набор данных, содержащий несколько финансовых данных, включая некоторые основные принципы.Например, я получил данные о долге за апрель, но на самом деле это должно быть, скажем, декабрь. Поскольку они публикуются позднее, я должен отложить их обратно для подтверждения.4 месяца

Вот так выглядят мои данные (иллюстрация)

k <- c("gvkey1" , "gvkey1" , "gvkey1" , "gvkey1", "gvkey2", "gvkey2", "gvkey2", "gvkey2", "gvkey2", "gvkey3", "gvkey3")

l <- c("Date1", "Date2", "Date3", "Date4" , "Date5" , "Date6" , "Date7" , "Date8" , "Date9" , "Date10" , "Date11" )
m <- c(1:11)

y <- structure(list(a = l, b = k, c = m), .Names = c("Date", "gvkey" , "DLCQ"),
               row.names = c(NA, -11L), class = "data.frame")
     Date  gvkey DLCQ
1   Date1 gvkey1    1
2   Date2 gvkey1    2
3   Date3 gvkey1    3
4   Date4 gvkey1    4
5   Date5 gvkey2    5
6   Date6 gvkey2    6
7   Date7 gvkey2    7
8   Date8 gvkey2    8
9   Date9 gvkey2    9
10 Date10 gvkey3   10
11 Date11 gvkey3   11

, и это код, который я уже пробовал:

x <- shift(y$DLCQ, 4L)

Однако это даетя возвращаю один единственный вектор и в основном "удаляет" все остальные столбцы (date, gvkey).

[1] NA NA NA NA  1  2  3  4  5  6  7

Это должно выглядеть примерно так:

     Date  gvkey DLCQ
1   Date1 gvkey1    NA
2   Date2 gvkey1    NA
3   Date3 gvkey1    NA
4   Date4 gvkey1    NA
5   Date5 gvkey2    1
6   Date6 gvkey2    2
7   Date7 gvkey2    3
8   Date8 gvkey2    4
9   Date9 gvkey2    5
10 Date10 gvkey3    6
11 Date11 gvkey3    7

Более того, так как мойданные в длинном формате, код должен выполняться для каждого gvkey отдельно (например, с помощью by = gvkey).

Спасибо, Йоханнес

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...