преобразование в формат даты в кадре данных в R - PullRequest
0 голосов
/ 19 июня 2020

Я хотел бы преобразовать свой столбец «Дата» в формат реальной даты. Я не могу преобразовать с помощью as.Date. Не могли бы вы мне помочь? Я пробовал следующее. Но не работает. 1) as.POSIXct (as.character (df1 $ Date, format = "% Y% m% d")) 2) as.Date (as.character (Date), "% Y /% m% / d") .

    > head(df1)
          Date                sim                obs
    2 43091.25 313.62295499999999             314.39
    3 43093.25 313.60034200000001             314.43
    4 43094.25         313.608948             314.31
    5 43095.25 313.56323200000003             314.24
    6 43096.25 313.52330000000001              314.2
    7 43097.25 313.47250000000003 314.29000000000002
    > str(df1)
   data.frame': 700 obs. of  3 variables:
     $ Date: chr  "43091.25" "43093.25" "43094.25" "43095.25" ...
     $ sim : chr  "313.62295499999999" "313.60034200000001" "313.608948" 
                      "313.56323200000003" ...
     $ obs : chr  "314.39" "314.43" "314.31" "314.24" ...

Ответы [ 3 ]

1 голос
/ 19 июня 2020

Даты с шаблоном 43 ddd .dd обычно берутся из Excel.
Вы можете использовать openxlsx:

openxlsx::convertToDateTime(as.numeric("43091.25"))
[1] "2017-12-22 06:00:00 CET"
0 голосов
/ 19 июня 2020

Нет необходимости использовать внешние пакеты, просто укажите источник, который использует Excel:

Date <- c("43091.25", "43093.25", "43094.25", "43095.25", "43096.25", "43097.25")

as.Date(as.numeric(Date), origin = "1899-12-30")
# [1] "2017-12-22" "2017-12-24" "2017-12-25" "2017-12-26" "2017-12-27" "2017-12-28"
0 голосов
/ 19 июня 2020

Ответ Вальди великолепен, а openxlsx великолепен. В качестве альтернативы для тех, кто столкнется с этим в будущем, вы также можете использовать janitor:

df <- tribble(~Date, ~sim, ~obs,
      43091.25, 313.6222956, 314.39,
    43093.25, 313.60034200000001, 314.43,
    43094.25, 313.608948, 314.31)

df %>%
  mutate(Date = janitor::excel_numeric_to_date(Date))

Производит:

  Date         sim   obs
  <date>     <dbl> <dbl>
1 2017-12-22  314.  314.
2 2017-12-24  314.  314.
3 2017-12-25  314.  314.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...