web-dev-qa-db-fra.com

Extrait le mois et l’année de la date en R

J'ai essayé un certain nombre de méthodes en vain. J'ai des données en termes de date (AAAA-MM-JJ) et j'essaie d'obtenir uniquement le mois et l'année, tels que: MM-AAAA ou AAAA-MM.

En fin de compte, j'aimerais que cela ressemble à ceci:

ID    Date         Month_Yr
1     2004-02-06   2004-02
2     2006-03-14   2006-03
3     2007-07-16   2007-07
...   ...          ...

Je le fais dans l’espoir de gagner de l’argent gagné en moyenne au cours d’un mois, à partir d’un certain nombre de commandes, sur une période donnée. Toute aide, ou une poussée dans la bonne direction serait grandement appréciée.

39
a.powell

Ceci ajoutera une nouvelle colonne à votre data.frame avec le format spécifié.

df$Month_Yr <- format(as.Date(df$Date), "%Y-%m")

df
#>   ID       Date Month_Yr
#> 1  1 2004-02-06  2004-02
#> 2  2 2006-03-14  2006-03
#> 3  3 2007-07-16  2007-07

# your data sample
  df <- data.frame( ID=1:3,Date = c("2004-02-06" , "2006-03-14" , "2007-07-16") )

un exemple simple:

dates <- "2004-02-06"

format(as.Date(dates), "%Y-%m")
> "2004-02"

note latérale: l'approche data.table peut être assez rapide si vous travaillez avec un grand ensemble de données.

library(data.table)
setDT(df)[, Month_Yr := format(as.Date(Date), "%Y-%m") ]
78
rafa.pereira

Utiliser une sous-chaîne?

d = "2004-02-06"
substr(d,0,7)
>"2004-02"
5
Allen Huang