Правильный анализ дат с использованием read_excel в R - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь прочитать файл Excel, используя функцию read_excel в R. Я читаю, используя следующую функцию

dat <- read_excel(path = "testing.xlsx", sheet = "Social Media") %>% select(name:date)

dput фрейма данных выглядит следующим образом:

dat <- structure(list(name = c("JOhn", "Ramesh", "Amir", "Priyanka", 
"Scott", "Lance", "Robert", "Clement", "Fang", "Xing"), platform = c("Facebook", 
"Twitter", "Twitter", "Twitter", "Twitter", "Twitter", "Twitter", 
"Facebook", "Twitter", "Twitter"), date = c("44168", "14/03/2020", 
"16/3/2020", "15/03/2020", "14/03/2020", "14/03/2020", "16/03/2020", 
"14/03/2020", "44168", "13/03/2020")), row.names = c(NA, -10L
), class = c("tbl_df", "tbl", "data.frame"))

Как видите, даты разбираются как десятичные и строковые. Я хочу разобрать все в одном формате.

Данные, которые я читаю из Excel, следующие:

enter image description here

Файл можно загрузить с https://easyupload.io/itsbxy

Это то, что я делаю в R.

dat <- dat %>% 
    mutate(date1 = lubridate::parse_date_time(date, c('dmY'))) 
dat$date1[is.na(dat$date1)] <- as.Date(as.numeric(dat$date[is.na(dat$date1)]), origin = "1899-12-30", )

The output is as follows; 
# A tibble: 10 x 4
   name     platform date       date1              
   <chr>    <chr>    <chr>      <dttm>             
 1 JOhn     Facebook 44168      2020-12-03 00:00:00
 2 Ramesh   Twitter  14/03/2020 2020-03-14 00:00:00
 3 Amir     Twitter  16/3/2020  2020-03-16 00:00:00
 4 Priyanka Twitter  15/03/2020 2020-03-15 00:00:00
 5 Scott    Twitter  14/03/2020 2020-03-14 00:00:00
 6 Lance    Twitter  14/03/2020 2020-03-14 00:00:00
 7 Robert   Twitter  16/03/2020 2020-03-16 00:00:00
 8 Clement  Facebook 14/03/2020 2020-03-14 00:00:00
 9 Fang     Twitter  44168      2020-12-03 00:00:00
10 Xing     Twitter  13/03/2020 2020-03-13 00:00:00

Таким образом, я проанализировал все даты, но даты, которые были прочитаны как десятичные, были преобразованы в другой формат.

Как мне исправить эту проблему? Первая и вторая последние даты должны быть 2020-03-12 и 2020-03-12

...