有没有一种方法可以将r

时间:2020-03-07 20:13:16

标签: r tidyverse tidyr

我开始学习r。我们必须整理数据集。日期列的日期为May_08。该列必须按月和年分开。例如:从May_08到2008年5月。这是我到目前为止的代码。

dataset %>%
  separate(date, c("month","year")) 

3 个答案:

答案 0 :(得分:3)

您可以使用strftime。只需事先在字符串前粘贴一天。

x <- "May_08"

strftime(as.Date(paste(1, x), format="%d %b_%y"), "%b %Y")
# [1] "May 2008"

答案 1 :(得分:0)

您也可以使用lubridate

x <- "May_08"
library(lubridate)
paste(month(parse_date_time(x, "my"), label = T), year(parse_date_time(x, "my")), sep = " ")
# [1] "May 2008"

答案 2 :(得分:0)

如果您知道系列中从 21 世纪年份打破 20 世纪的年份,则应该使用简单的 ifelse 语句。在示例中,1990 年是突破年份,因此:

yrs <- c(91,94,97,00,03,06,09,12,15,18,21)
yrs <- ifelse(yrs>90, yrs+1900, yrs+2000)
> print(yrs)
[1] 1991 1994 1997 2000 2003 2006 2009 2012 2015 2018 2021