【问题标题】:Why does as.Date return NA in one case, and doesn't return in another? [duplicate]为什么 as.Date 在一种情况下返回 NA,而在另一种情况下不返回? [复制]
【发布时间】:2020-03-31 07:11:37
【问题描述】:

我使用 R 版本 3.6.1

当我跑步时:

> as.Date('Dec 15, 2000', format = '%b %d, %Y')

我明白了:

[1] "2000-12-15"

在另一台具有相同 R 版本和库的机器上,我得到:

> as.Date('Dec 15, 2000', format = '%b %d, %Y')
[1] NA

【问题讨论】:

    标签: r date posixct


    【解决方案1】:

    日期字符串的解析取决于机器的语言设置。如果您想使用英文日期字符串,请将语言环境设置为(英国或美国)英语:

    > Sys.setlocale("LC_ALL", 'en_GB.UTF-8')
    [1] "LC_CTYPE=en_GB.UTF-8;LC_NUMERIC=C;LC_TIME=en_GB.UTF-8;LC_COLLATE=en_GB.UTF-8;LC_MONETARY=en_GB.UTF-8;LC_MESSAGES=en_GB.UTF-8;LC_PAPER=es_ES.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=es_ES.UTF-8;LC_IDENTIFICATION=C"
    > as.Date('Dec 15, 2000', format = '%b %d, %Y')
    [1] "2000-12-15"
    

    编辑

    更具体地说,环境变量LC_TIME是决定日期字符串解析行为的变量:

    Sys.setlocale("LC_TIME", 'en_GB.UTF-8')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-31
      • 1970-01-01
      • 1970-01-01
      • 2016-03-02
      相关资源
      最近更新 更多