将""7-2014""转换为日期格式并在 R 中查找最小值



我将日期存储为矢量date中的character

> head(date)
[1] "7-2014"  "1-2018"  "11-2014" "7-2014"  "1-2018"  "1-2018" 

并希望将其转换为日期并找到其最小值。我使用了这里解释的as.Date

as.Date(date, "%m-%Y")

结果只得到CCD_ 4。为什么不起作用?

我想在栏中找到最短日期。如果你知道更好的方法,请启发我:(

as.Date需要一个月中的一天:

date <- c("7-2014",  "1-2018",  "11-2014", "7-2014",  "1-2018",  "1-2018")
as.Date(paste0("1-", date), "%d-%m-%Y")
#> [1] "2014-07-01" "2018-01-01" "2014-11-01" "2014-07-01" "2018-01-01"
#> [6] "2018-01-01"

由reprex包于2020-04-15创建(v0.3.0(

您可以在向量中放入任意日期,并将其转换为日期以计算min

或者您也可以使用zooyearmon

min(zoo::as.yearmon(x, "%m-%Y"))
#[1] "Jul 2014"

数据

x <- c("7-2014" , "1-2018",  "11-2014", "7-2014",  "1-2018",  "1-2018")

我们也可以在末尾添加一天后使用lubridate

library(lubridate)
min(myd(paste0(x, '-1')))

数据

x <- c("7-2014" , "1-2018",  "11-2014", "7-2014",  "1-2018",  "1-2018")

最新更新