J'essaie de diviser une colonne de date et de temps en jour, mois, heure distincte, heure, minute, deuxième, jour des colonnes de la semaine. J'utilise la fonction lubridate et mutuate mais lorsque j'essaie d'utiliser le code ci-dessous, je reçois cette erreur: Message d'avertissement: Tous les formats ont échoué à analyser. Aucun format trouvé.
Mes nouvelles colonnes sont créées mais elles contiennent tous NA - se demandant si quelqu'un peut aider? P>
Ma colonne ressemble à ceci: p>
taxidata3 <- taxidata2 %>% mutate(tpep_pickup_datetime = mdy_hms(tpep_pickup_datetime), day = day(tpep_pickup_datetime), month = month(tpep_pickup_datetime), year = year(tpep_pickup_datetime), dayofweek = wday(tpep_pickup_datetime), hour = hour(tpep_pickup_datetime), minute = minute(tpep_pickup_datetime), second = second(tpep_pickup_datetime))
3 Réponses :
Basé sur les commentaires de l'OP, le format de date est le jour / mois / ... au lieu de mois / jour / ... ici, nous avons besoin dmy_hms code>. Donc, chaque lettre signifie l'ordre d'occurrence
Ceci est une solution Données: p> solution: p> < Pré> xxx pré> résultat: p> stringr code> à l'aide de REGEX pour correspondre aux composants de la date:
Voici une autre alternative utilisant la fonction distincte code>. Le code et la sortie sont les suivants: -
library(tidyverse)
df <- data.frame(
tpep_pickup_datetime = c("01/07/2019 00:51:15", "01/07/2019 00:46:30",
"01/07/2019 00:25:35"))
df %>%
separate(tpep_pickup_datetime, c("Day", "Month", "Year_time"),
sep = "/", remove = FALSE) %>%
separate(Year_time, c("Year", "Time"),
sep = " ", remove = TRUE) %>%
separate(Time, c("Hour", "Minute", "Second"),
sep = ":", remove = TRUE)
# tpep_pickup_datetime Day Month Year Hour Minute Second
#1 01/07/2019 00:51:15 01 07 2019 00 51 15
#2 01/07/2019 00:46:30 01 07 2019 00 46 30
#3 01/07/2019 00:25:35 01 07 2019 00 25 35
Quelle est la sortie de
mdy_hms code> est-ce mois / jour / ou jour / mois / mois
Salut akrun - c'est jour / mois
Ensuite, votre code devrait être
dmy_hms code>