R автоматически меняет формат дат - PullRequest
0 голосов
/ 29 июня 2018

My R изменяет формат дат на символьные или числовые.

For Example this code:
x <- as.Date("2018-06-20")
cat(x)

напечатает "2018-06-20"

но этот код:

x <- as.Date("2018-06-20")
foo <- function(x) {
  cat(x)
}
foo(x)

напечатает число 18433 и иногда "2018-06-20" как символ.

Горячий, чтобы это исправить?

1 Ответ

0 голосов
/ 29 июня 2018

Согласно ?cat

Currently only atomic vectors and names are handled, together with
 ‘NULL’ and other zero-length objects.  
  Other types of R object should be converted (e.g., by
     ‘as.character’ or ‘format’) before being passed to ‘cat’.  That
     includes factors, which are output as integer vectors.

Date объекты хранятся как numeric

typeof(x)
#[1] "double"

Итак, он выполняет приведение к числовому значению с помощью cat. Одним из вариантов является преобразование в character (как указано в документации), и оно должно работать

cat(as.character(x))
#2018-06-20
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...