gpt4 book ai didi

r - 将日期列表从字符格式转换为日期格式

转载 作者:行者123 更新时间:2023-12-01 16:36:23 25 4
gpt4 key购买 nike

我有一个字符格式的日期向量,我需要将其转换为日期格式。有些月份是缩写的,有些则不是,那是因为这个列表是网络抓取的结果。出于某种原因,以下无法转换“9 月 7 日”(对其余部分有效):

employ <- c("Jan  5", "Feb  2", "March  9", "April  6", "May  4", "June  1","July  6", "Aug  3", "Sept  7", "Oct  5", "Nov  2", "Dec  7","Jan  4") 
employ2 <- as.Date(employ, format = "%B %d")

#This is what the output of employ2 looks like:
[1] 2016-01-05 2016-02-02 2016-03-09 2016-04-06 2016-05-04 2016-06-01
[7] 2016-07-06 2016-08-03 <NA> 2016-10-05 2016-11-02 2016-12-07
[13] 2016-01-04

我认为问题可能出在 Sept 的“t”上,所以我使用 gsub 将其排除。在这种情况下,代码无法转换“Oct 5”。

employ <- c("Jan  5", "Feb  2", "March  9", "April  6", "May  4", "June  1","July  6", "Aug  3", "Sept  7", "Oct  5", "Nov  2", "Dec  7","Jan  4") 
employ <- gsub("t", "", employ)
employ2 <- as.Date(employ, format = "%B %d")

有人可以帮助成功转换整个列表吗?非常感谢。

编辑:请不要回应,显然问题确实是“t”。刚刚发现它。需要找出一种不同的方法来删除 Sept 中的“t”。

最佳答案

如您所见,您的 gsub 表达式失败了,因为它从其他字符串中删除了额外的“t”字符,例如“Oct”。

您可以轻松地只修改所需的字符串:

sub("Sept", "Sep", employ)

sub 用于代替 gsub,因为每个向量条目只需要一个替换。

关于r - 将日期列表从字符格式转换为日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36995430/

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