Вот мое наблюдение. Учитывая этот пример данных
> xx
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] "ABC" "20" "04" "13" "C" "00700000"
[2,] "XYZ" "20" "04" "13" "C" "00800000"
> class(xx)
[1] "matrix"
, я написал простую функцию для анализа этой матрицы данных:
foo <- function(xx)
{
year=2000+as.integer(xx[2])
month = as.integer(xx[3])
day=as.integer(xx[4])
as.Date(sprintf("%02d-%02d-%04d",month,day, year), format="%m-%d-%Y")
}
При применении этой функции к xx с помощью apply () я получил следующее:
> apply(xx, 1, foo)
[1] 18365 18365
Я не знаю, почему здесь отображалось 18365, может, 18365 представляет NA? В некоторых сообщениях о переполнении стека говорится, что дата чувствительна к Sys.setlocale (). Но если я просто наберу это в том же терминале:
> as.Date(sprintf("%02d-%02d-%04d", 4, 23, 2020), format="%m-%d-%Y")
[1] "2020-04-23"
Итак, похоже, доказано, что для as.Date () нет проблемы с Sys.setlocale (). Может кто-нибудь указать, в чем проблема? Спасибо Так доказано