Tekenreeksen converteren naar datums in r (met voorbeelden)


Wanneer u datum- en tijdgegevens in R importeert, worden de waarden vaak als tekenreeksen geïmporteerd.

De eenvoudigste manier om tekenreeksen naar datums in R te converteren is door de functie as.Date() te gebruiken, die de volgende syntaxis gebruikt:

like.Date(x, formaat)

Goud:

  • x: Een enkele tekenreekswaarde of vector van tekenreekswaarden.
  • formaat: Het formaat dat voor de datum moet worden gebruikt. De standaardwaarde is JJJJ-MM-DD.

U kunt de opdracht ?strftime in R gebruiken om een volledige lijst met beschikbare argumenten voor het datumformaat weer te geven, maar de meest voorkomende zijn:

  • %d: Dag van de maand als decimaal getal (01-31)
  • %m: Maand als decimaal getal (01-12)
  • %y: Jaar zonder eeuw (bijvoorbeeld 04)
  • %Y: Jaar met eeuw (bijvoorbeeld 2004)

Deze tutorial toont verschillende voorbeelden van praktisch gebruik van de functie as.Date() .

Voorbeeld 1: Converteer een enkele string naar een datum

De volgende code laat zien hoe u een enkele tekenreekswaarde naar een datum converteert:

 #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”

Voorbeeld 2: Converteer een vector van tekenreeksen naar datums

De volgende code laat zien hoe u een vector van tekenreeksen naar datums converteert:

 #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”

Voorbeeld 3: Converteer een gegevensframekolom naar datums

De volgende code laat zien hoe je een kolom met datablockchains naar datums converteert:

 #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

Voorbeeld 4: Converteer meerdere datumframekolommen naar datums

De volgende code laat zien hoe u meerdere kolommen met gegevensblockchains naar datums converteert:

 #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

U kunt hier meer leren over de functie lapply() die in dit voorbeeld wordt gebruikt.

Aanvullende bronnen

De volgende tutorials bieden aanvullende informatie over het werken met datums in R:

De complete gids voor datumformaten in R
Hoe een dataframe op datum te sorteren in R
Hoe jaar uit datum te extraheren in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert