Вводя только имя переменной на консоли, она печатается с использованием аргументов по умолчанию print
.Если вам нужен другой формат, измените способ работы print
с Date
:
Sys.Date()
# [1] "2018-06-04
print.Date <- function (x, max = NULL, ...) {
if (is.null(max))
max <- getOption("max.print", 9999L)
n_printed <- min(max, length(x))
formatted <- strftime(x[seq_len(n_printed)], format = "%m/%d/%Y")
print(formatted, max = max, ...)
if (max < length(x)) {
cat(" [ reached getOption(\"max.print\") -- omitted",
length(x) - max, "entries ]\n")
} else if (length(x) == 0L) {
cat(class(x)[1L], "of length 0\n")
}
invisible(x)
}
Sys.Date()
# [1] "06/04/2018"
Это просто стандартная функция print.Date
с несколькими изменениями.
Но яОбязательно прокомментируйте это:
Я хочу преобразовать это в Date, изменить формат даты по умолчанию и сохранить тип данных в качестве Date
A Date
вектор не имеет формата.Формат можно использовать при преобразовании его в вектор character
(что и делает print
), но Date
на самом деле просто integer
с другим классом.Целое число указывает количество дней после эпохи (1970-01-01):
x <- 1
x
# [1] 1
class(x) <- "Date"
x
# [1] "1970-01-02"