gpt4 book ai didi

R 以错误的语言读取 %d%b%Y 日期的月份

转载 作者:行者123 更新时间:2023-12-01 04:50:09 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





strptime, as.POSIXct and as.Date return unexpected NA

(2 个回答)


4年前关闭。




我正在运行我的同事前段时间在他的 Rstudio 上编写的代码,但我被困在一个看起来很愚蠢的问题上。我在数据框中有一个变量,它是一个字符并代表一个日期,例如

30jan2016
38feb2016

我需要将此字符串转换为日期变量,我正在使用以下内容:
df$newvar <- format(as.Date(df$oldvar, format="%d%b%Y"), format="%Y%m%d")

这就是我得到的:
NA
2016-02-28

一段时间后,我意识到我的 Rstudio 正在读取意大利语字符串的“月份”部分(在下面你可以找到月份缩写 ENG-ITA 的比较),并且正确地只解码它可以用意大利语读取的内容。更改全局语言选项没有帮助(无论如何,R 语言已经设置为英语)。有任何想法吗?

谢谢!
ENG    ITA
jan gen
feb feb
mar mar
apr apr
may mag
jun giu
jul lug
aug ago
sep set
oct ott
nov nov
dec dic

注意:当然,我可以替换字符串的一部分,然后运行这段代码,但我需要此代码在任何计算机上以英文运行。

最佳答案

试试 readr .可以手动设置区域设置。

library(readr)
parse_date(c("30jan2016", "1feb2017"), "%d%b%Y", locale = locale("en"))

关于R 以错误的语言读取 %d%b%Y 日期的月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41960546/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com