Warm tip: This article is reproduced from serverfault.com, please click

其他-用奇怪的格式解析R中的日期

(其他 - Parsing dates in R with weird format)

发布于 2020-11-28 00:30:37

嗨,大家好,我有一个奇怪的格式的日期列表:X1.22.20 X1.23.20(月/日/年)。并且我想使用“ 2020-06-11”('%d%b%Y')。我尝试了这个:

> min.date <- min(dates)
> max.date <- max(dates)
> min.date.txt <- min.date %>% format('%d %b %Y')
> max.date.txt <- max.date %>% format('%d %b %Y') %>% paste('UTC')
> min.date
[1] "2002-10-10" 

这个值是疯狂的,因为我可以确定他的数据没有2002年的int值。有什么帮助吗?谢谢

Questioner
Paulo Sergio Schlogl
Viewed
11
G. Grothendieck 2020-11-28 09:01:03

假设问题是如何将x下面显示的输入转换为与输入相对应的格式的Date类使用as.Date,因此它必须以X开头,在输入中带有点的点处有点等。请查看?strptime百分比代码的文档。

x <- c("X1.22.20", "X1.23.20") # input

as.Date(x, format = "X%m.%d.%y")
## [1] "2020-01-22" "2020-01-23"

请注意,如果你得到的日期是这样的:

Lines <- "1.22.20 1.23.20
1 2
3 4"
read.table(text = Lines, header = TRUE)
##   X1.22.20 X1.23.20
## 1        1        2
## 2        3        4

那么可以使用check.names = FALSE以下方法避免使用X

read.table(text = Lines, header = TRUE, check.names = FALSE)
##   1.22.20 1.23.20
## 1       1       2
## 2       3       4