Преобразовать необработанную дату в целое число в R - PullRequest
0 голосов
/ 16 мая 2019

У меня есть фрейм данных с датами, и я хочу преобразовать даты в порядковые числа,

> glimpse(df)
Observations: 211,797
Variables: 42
   $ Churn                  <fct> No, No, No, No, No, No, No, No, No, No, No, No, No, No, No, No, No, No, No, No, No, No, No, No, No, No, No, No…
    $ min_date               <date> 2017-02-13, 2017-02-13, 2017-02-13, 2017-02-13, 2017-02-13, 2017-02-13, 2017-02-13, 2017-02-13, 2017-02-13, 2…
    $ min_NoPaid_date        <date> 2017-02-13, 2017-02-13, 2017-02-13, 2017-02-13, 2017-02-13, 2017-02-13, 2017-02-13, 2017-02-13, 2017-02-13, 2…
    $ min_paid_date          <date> 2017-02-27, 2017-02-27, 2017-02-27, 2017-02-27, 2017-02-27, 2017-02-27, 2017-02-27, 2017-02-27, 2017-02-27, 2…
    $ max_date               <date> 2019-05-14, 2019-05-14, 2019-05-14, 2019-05-14, 2019-05-14, 2019-04-27, 2019-05-14, 2019-05-14, 2019-05-14, 2…
    $ max_NoPaid_date        <date> 2017-02-26, 2017-02-26, 2017-02-26, 2017-02-26, 2017-02-26, 2019-04-27, 2017-02-26, 2017-02-26, 2017-02-26, 2…
    $ max_paid_date          <date> 2019-05-14, 2019-05-14, 2019-05-14, 2019-05-14, 2019-05-14, 2019-04-26, 2019-05-14, 2019-05-14, 2019-05-14, 2…


> str(df)
    Classes ‘data.table’ and 'data.frame':  211797 obs. of  42 variables:
9173842 11288931 9167070 4310995 11289083 8816781 ...
     $ Churn                 : Factor w/ 2 levels "No","Yes": 1 1 1 1 1 1 1 359 360 361 362 363 364 365 366 367 368 ...
     $ min_date              : Date, format: "2017-02-13" "2017-02-13" "2017-02-13" ...
     $ min_NoPaid_date       : Date, format: "2017-02-13" "2017-02-13" "2017-02-13" ...
     $ min_paid_date         : Date, format: "2017-02-27" "2017-02-27" "2017-02-27" ...
     $ max_date              : Date, format: "2019-05-14" "2019-05-14" "2019-05-14" ...
     $ max_NoPaid_date       : Date, format: "2017-02-26" "2017-02-26" "2017-02-26" ...
     $ max_paid_date         : Date, format: "2019-05-14" "2019-05-14" "2019-05-14" ...

Я попытался создать функцию для применения всех столбцов даты.

date_to_integer <- function(x) {
                        y = as.integer(format(as.Date(x), "%Y%m%d"))
                        y
    }


churn_data_tbl[4:9] <- lapply(churn_data_tbl, date_to_integer)

Однако я получаю Error in charToDate(x) : character string is not in a standard unambiguous format.

Может ли кто-нибудь помочь мне, как я могу обойти это?

Заранее спасибо

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