Я активно искал решение своего вопроса в R и не нашел ничего, что решило бы мою проблему ...
У меня есть отчет R, который нужно отправить на начало января, используя pepeданные мемов.Я изучаю цену pepe мемов через раз, и тут возникает моя проблема.У меня есть даты в формате yyyy-mm-dd h:m
, и я хочу объединить их в средние месячные данные.Я думал о том, чтобы сначала сделать новый файл с моей отметкой времени в формате yyyy-mm
, но я не смог этого сделать.Я преуспел при переводе в формат yyyy-mm-dd
, но у меня действительно есть проблема, когда я хочу перейти в формат гггг-мм.
Итак, более четко, вот мои два вопроса:
Как мне объединить мои yyyy-mm-dd h:m
даты в месячные со средним значением месячных данных (так,в формате yyyy-mm
)?
Если вы не знаете, как агрегировать даты, знает ли кто-нибудь из вас, как перейти с формата yyyy-mm-dd h:m
на yyyy-mm
?
Вот несколько строк моего набора данных (просто аннотация, он содержит более 250 строк):
Timestamp ForwardQuantity TotalPriceUSDPerUnit
------------------------------------------------------------
1 2016-09-26 04:00:00 3 3.44
2 2016-09-26 04:00:00 7 3.44
3 2016-09-26 05:00:00 3 3.39
4 2016-09-26 05:00:00 1 3.39
5 2016-09-26 06:00:00 2 3.39
6 2016-09-26 13:00:00 4 2.84
7 2016-09-28 04:00:00 1 2.88
8 2016-09-28 04:00:00 1 2.92
9 2016-09-28 06:00:00 1 2.92
10 2016-09-28 06:00:00 1 2.92
Большое спасибо заранее, и приятногоРождество для тех, кто празднует это!
РЕДАКТИРОВАТЬ: Ожидаемый результат:
Timestamp Average price
------------------------------------
1 2016-09 2.9981
Здесь средняя цена была получена путем умножения вышеуказанного форвардного количества на соответствующую цену
РЕДАКТИРОВАТЬ 2: Вывод dput(голова (DatasHAIRPEPE3col, 10)) следующая
structure(list(Timestamp = structure(c(1474862400, 1474862400,
1474866000, 1474866000, 1474869600, 1474894800, 1475035200, 1475035200,
1475042400, 1475042400), class = c("POSIXct", "POSIXt"), tzone = "UTC"),
ForwardQuantity = c(3L, 7L, 3L, 1L, 2L, 4L, 1L, 1L, 1L, 1L
), TotalPriceUSDPerUnit = c(3.445, 3.445, 3.392, 3.392, 3.392,
2.8352, 2.8795, 2.9238, 2.9238, 2.9238)), row.names = c(NA,
-10L), class = c("tbl_df", "tbl", "data.frame"))