年份是一位数字时日期格式更改

时间:2018-04-12 13:28:13

标签: r date

我有一个日期栏(年月)的df,如:7月2日,7月3日(意思是2007年2月,2007年3月等)。我想让它像2007-02,2007-03等。我试图用这个代码来解决它

Dim datax As Range
Dim xcolor As Long, brown As Long
xcolor = criteria.Interior.ColorIndex
brown = 53 'the default brown color index

For Each datax In range_data
    If datax.Interior.ColorIndex = xcolor Then
        CountCcolor = CountCcolor + 1
    ElseIf datax.Interior.ColorIndex = brown Then
        CountCcolor = CountCcolor + 0.5
    End If
Next datax

End Function

但它产生了na na ...

作为r的新学习者,你能在这方面帮助我吗?

2 个答案:

答案 0 :(得分:3)

您可以将zoo::as.yearmon功能用作:

library(zoo)

as.yearmon("7-Feb", "%y-%b")
#[1] "Feb 2007"


format(as.yearmon("7-Feb", "%y-%b"),"%m-%Y")
#[1] "02-2007"

#For OP's data.frame:

df$date <- as.yearmon(df$date, "%y-%b")

答案 1 :(得分:1)

最简单的方法是在字符串中添加一天,如下例所示:

as.Date(paste0("01-", "7-Feb"), "%d-%y-%b")

这里我将日期设置为该月的第一天。在你的情况下,你可以用你的字符串向量替换“7月2日”。