嗨,大家好,我有一个奇怪的格式的日期列表: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值。有什么帮助吗?谢谢
假设问题是如何将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