символ на сегодняшний день в Rshiny

#r #shiny

#r #блестящий

Вопрос:

У меня есть Excel, который включает даты. Я импортирую этот файл Excel в «фрейм данных». После импорта я попытался преобразовать один столбец в формат даты, но там отображается ‘NA’

Что я пробовал:

 str(df$Date_of_visit) # prints type before conversion

df$Date_of_visit # values in the column

df$Date_of_visit <- as.Date(df$Date_of_visit, origin = "1899-12-30", format="%m%d%y") #converting to date

str(df$Date_of_visit) # prints type after conversion

print(df$Date_of_visit) # values in the column
  

Результат, который я получил :

 chr [1:4] "43503" "43319" "43473" "43473"

Date[1:4], format: NA NA NA NA

[1] NA NA NA NA
  

Кто-нибудь может мне помочь? В чем ошибка, которую я здесь совершаю?

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

С уважением, Муни.

Комментарии:

1. Пожалуйста, поместите свой код в блок кода (три обратные кавычки для открытия и три в конце для закрытия).

Ответ №1:

Вам не нужно указывать format= аргумент в вашем as.Date() и преобразовывать символы в числовые перед использованием as.Date() . Пример:

 dte <- c("43503","43319","43473","43473")

dte <- as.Date(as.numeric(dte), origin = "1899-12-30")
dte
#[1] "2019-02-07" "2018-08-07" "2019-01-08" "2019-01-08"

format(dte, "%m%d%Y")
#[1] "02072019" "08072018" "01082019" "01082019"
  

Вы можете использовать format() для преобразования объектов даты в символ выбранного вами формата. Обратите внимание, что format() это дает вам символьный объект, а не дату больше.