Come convertire stringhe in date in r (con esempi)


Spesso quando importi dati di data e ora in R, i valori verranno importati come stringhe.

Il modo più semplice per convertire stringhe in date in R è utilizzare la funzione as.Date() , che utilizza la seguente sintassi:

like.Date(x, formato)

Oro:

  • x: un singolo valore stringa o un vettore di valori stringa.
  • formato: il formato da utilizzare per la data. Il valore predefinito è AAAA-MM-GG.

È possibile utilizzare il comando ?strftime in R per visualizzare un elenco completo di argomenti disponibili da utilizzare per il formato della data, ma i più comuni includono:

  • %d: giorno del mese come numero decimale (01-31)
  • %m: mese come numero decimale (01-12)
  • %y: anno senza secolo (ad esempio 04)
  • %Y: anno con secolo (ad esempio 2004)

Questo tutorial mostra diversi esempi di utilizzo pratico della funzione as.Date() .

Esempio 1: convertire una singola stringa in una data

Il codice seguente mostra come convertire un singolo valore di stringa in una data:

 #create string value
x <- c(" 2021-07-24 ")

#convert string to date
new <- as.Date(x, format=" %Y-%m-%d ")
new

[1] "2021-07-24"

#check class of new variable
class(new)

[1] “Date”

Esempio 2: convertire un vettore di stringhe in date

Il codice seguente mostra come convertire un vettore di stringhe in date:

 #create vector of strings
x <- c(" 2021-07-24 ", " 2021-07-26 ", " 2021-07-30 ")

#convert string to date
new <- as.Date(x, format=" %Y-%m-%d ")
new

[1] "2021-07-24" "2021-07-26" "2021-07-30"

#check class of new variable
class(new)

[1] “Date”

Esempio 3: convertire una colonna di frame di dati in date

Il codice seguente mostra come convertire una colonna di blockchain di dati in date:

 #create data frame
df <- data.frame(day = c(" 2021-07-24 ", " 2021-07-26 ", " 2021-07-30 "),
                 sales=c(22, 25, 28),
                 products=c(3, 6, 7))

#view structure of data frame
str(df)

'data.frame': 3 obs. of 3 variables:
 $ day: Factor w/ 3 levels "2021-07-24","2021-07-26",..: 1 2 3
 $ sales: num 22 25 28
 $products: num 3 6 7

#convert day variable to date
df$day <- as.Date(df$day, format=" %Y-%m-%d ")

#view structure of new data frame
str(df)

'data.frame': 3 obs. of 3 variables:
 $day: Date, format: "2021-07-24" "2021-07-26" ...
 $ sales: num 22 25 28
 $products: num 3 6 7

Esempio 4: convertire più colonne di cornici di data in date

Il codice seguente mostra come convertire più colonne di blockchain di dati in date:

 #create data frame
df <- data.frame(start = c(" 2021-07-24 ", " 2021-07-26 ", " 2021-07-30 "),
                 end = c(" 2021-07-25 ", " 2021-07-28 ", " 2021-08-02 "),
                 products=c(3, 6, 7))

#view structure of data frame
str(df)

'data.frame': 3 obs. of 3 variables:
 $ start: Factor w/ 3 levels "2021-07-24","2021-07-26",..: 1 2 3
 $ end: Factor w/ 3 levels "2021-07-25","2021-07-28",..: 1 2 3
 $products: num 3 6 7

#convert start and end variables to date
df[,c(' start ', ' end ')] = lapply (df[,c(' start ', ' end ')],
                                function(x) as.Date(x, format=" %Y-%m-%d "))

#view structure of new data frame
str(df)

'data.frame': 3 obs. of 3 variables:
 $start: Date, format: "2021-07-24" "2021-07-26" ...
 $end: Date, format: "2021-07-25" "2021-07-28" ...
 $products: num 3 6 7

Puoi saperne di più sulla funzione lapply() utilizzata in questo esempio qui .

Risorse addizionali

I seguenti tutorial offrono informazioni aggiuntive su come lavorare con le date in R:

La guida completa ai formati di data in R
Come ordinare un dataframe per data in R
Come estrarre l’anno dalla data in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *