J'ai 3 vecteurs différents comprenant des données de jours, mois et années. Je voudrais fusionner ces 3 en un seul et l'ajouter à une nouvelle colonne de mon bloc de données. J'ai essayé d'utiliser "as.Date" pour fusionner ces 3 vecteurs mais cela ne fonctionnera pas ...

Pourriez-vous m'aider? :)

Voici mon code:

Day<- substr(x = my_meteo_charleroi$Local.Time, start = 1, stop =2 )
Month<- substr(x = my_meteo_charleroi$Local.Time, start = 4, stop =5 )
Year<- substr(x = my_meteo_charleroi$Local.Time, start = 7, stop =10 )

my_date<- as.Date(c(Day, Month, Year), format = c("%d, %m, %y"))
0
Hugo Evrard 3 nov. 2020 à 18:56

2 réponses

Meilleure réponse

Vous êtes déjà assez proche, il suffit de deux modifications.

Les deux arguments de as.Date() doivent être des chaînes ici, pas des vecteurs.

as.Date(paste(Day, Month, Year, sep = "-"), format = '%d-%m-%y') 
0
Till 3 nov. 2020 à 16:14

Est-ce que ça marche:

Day <- c(10,11,12)
Month <- c(11,11,12)
Year <- c(2019,2020,2020)
library(tibble)
library(dplyr)
tibble(Day, Month, Year) %>% 
mutate(my_date = paste(Day, Month, Year, sep = '-')) %>% 
mutate(my_date = as.Date(my_date, format = '%d-%m-%Y', origin = '1970-01-01')) %>% 
pull(my_date)
[1] "2019-11-10" "2020-11-11" "2020-12-12"

Dataframe avec la colonne my_date ressemble à ceci:

tibble(Day, Month, Year) %>% mutate(my_date = paste(Day, Month, Year, sep = '-')) %>% 
   mutate(my_date = as.Date(my_date, format = '%d-%m-%Y', origin = '1970-01-01'))
# A tibble: 3 x 4
    Day Month  Year my_date   
  <dbl> <dbl> <dbl> <date>    
1    10    11  2019 2019-11-10
2    11    11  2020 2020-11-11
3    12    12  2020 2020-12-12

 
1
Karthik S 3 nov. 2020 à 16:11