我有一个日期栏(年月)的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的新学习者,你能在这方面帮助我吗?
答案 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日”。