Odp.: jak przekonwertować znak na datę za pomocą lubridate
Możesz użyć różnych funkcji z pakietu lubridate w R, aby przekonwertować kolumnę znakową na format daty.
Dwie z najczęściej spotykanych funkcji to:
- ymd() – Konwertuje dotychczasowy znak w formacie rok-miesiąc-data
- mdy() – Konwertuje dotychczasowy znak w formacie miesiąc-dzień-rok
Poniższe przykłady pokazują, jak w praktyce używać funkcji ymd() i mdy() .
Uwaga : Pełną listę funkcji, których można użyć do konwersji znaków na daty w oparciu o format daty, można znaleźć w dokumentacji Lubridate .
Przykład 1: Konwertuj znak na datę za pomocą ymd()
Załóżmy, że mamy następującą ramkę danych w R:
#create data frame
df <- data. frame (date=c('2022-01-05', '2022-02-18', '2022-03-21',
'2022-09-15', '2022-10-30', '2022-12-25'),
sales=c(14, 29, 25, 23, 39, 46))
#view data frame
df
dirty dates
1 2022-01-05 14
2 2022-02-18 29
3 2022-03-21 25
4 2022-09-15 23
5 2022-10-30 39
6 2022-12-25 46
#view class of date column
class(df$date)
[1] “character”
Obecnie wartości w kolumnie daty są znakami, ale możemy skorzystać z funkcji ymd() z pakietu lubridate, aby przekonwertować je na daty:
library (lubridate) #convert character to date format df$date <- ymd(df$date) #view updated data frame df dirty date 1 2022-01-05 14 2 2022-02-18 29 3 2022-03-21 25 4 2022-09-15 23 5 2022-10-30 39 6 2022-12-25 46 #view updated class of date column class(df$date) [1] “Date”
Widzimy, że kolumna daty ma teraz klasę Date zamiast Character.
Przykład 2: Konwertuj znak na datę za pomocą mdy()
Załóżmy, że mamy następującą ramkę danych w R:
#create data frame
df <- data. frame (date=c('March 4, 2022', 'April 9, 2022', 'May 6, 2022',
'May 29, 2022', 'June 1, 2022', 'July 2, 2022'),
sales=c(14, 29, 25, 23, 39, 46))
#view data frame
df
dirty date
1 March 4, 2022 14
2 April 9, 2022 29
3 May 6, 2022 25
4 May 29, 2022 23
5 June 1, 2022 39
6 July 2, 2022 46
#view class of date column
class(df$date)
[1] “character”
Obecnie wartości kolumn daty są znakami, ale możemy skorzystać z funkcji mdy() z pakietu lubridate, aby przekonwertować je na daty:
library (lubridate) #convert character to date format df$date <- mdy(df$date) #view updated data frame df dirty dates 1 2022-03-04 14 2 2022-04-09 29 3 2022-05-06 25 4 2022-05-29 23 5 2022-06-01 39 6 2022-07-02 46 #view updated class of date column class(df$date) [1] “Date”
Widzimy, że kolumna daty ma teraz klasę Date zamiast Character.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:
Jak przekonwertować datę na liczbę w R
Jak wyodrębnić miesiąc z daty w R
Jak dodawać i odejmować miesiące do daty w R