Jak wyodrębnić miesiąc z daty w r (z przykładami)


Istnieją dwa sposoby szybkiego wyodrębnienia miesiąca z daty w R:

Metoda 1: Użyj formatu()

 df$month <- format( as.Date (df$date, format=" %d/%m/%Y ")," %m ")

Metoda 2: Użyj pakietu smarowania

 library (lubridate)

df$month <- month( mdy (df$date))

W tym samouczku przedstawiono przykład wykorzystania każdej z tych metod w praktyce.

Metoda 1: Wyodrębnij miesiąc z daty za pomocą format()

Poniższy kod pokazuje, jak wyodrębnić miesiąc z daty za pomocą funkcji format() połączonej z argumentem „%m” :

 #create data frame
df <- data. frame (date=c("01/01/2021", "01/04/2021" , "01/09/2021"),
                  sales=c(34, 36, 44))

#view data frame
df

        dirty date
1 01/01/2021 34
2 01/04/2021 36
3 01/09/2021 44

#create new variable that contains month
df$month <- format( as.Date (df$date, format=" %d/%m/%Y ")," %m ")

#view updated data frame
df

        date sales month
1 01/01/2021 34 01
2 01/04/2021 36 04
3 01/09/2021 44 09

Należy pamiętać, że ta funkcja format() działa z różnymi formatami dat. Wystarczy określić format:

 #create data frame
df <- data. frame (date=c("2021-01-01", "2021-01-04", "2021-01-09"),
                  sales=c(34, 36, 44))

#view data frame
df

        dirty date
1 2021-01-01 34
2 2021-01-04 36
3 2021-01-09 44

#create new variable that contains month
df$month<- format( as.Date (df$date, format=" %Y-%m-%d ")," %m ")

#view updated data frame
df

        date sales month
1 2021-01-01 34 01
2 2021-01-04 36 01
3 2021-01-09 44 01

Uwaga : Możesz także użyć %B , aby wyodrębnić miesiąc w postaci ciągu znaków (styczeń) zamiast wartości numerycznej (01).

Metoda 2: Wyodrębnij miesiąc z daty za pomocą Lubridate

Możemy także skorzystać z funkcji pakietu lubridate, aby szybko wyodrębnić miesiąc z daty:

 library (lubridate)

#create data frame
df <- data. frame (date=c("01/01/2021", "01/04/2021" , "01/09/2021"),
                  sales=c(34, 36, 44))

#view data frame
df

        dirty dates
1 01/01/2021 34
2 01/04/2021 36
3 01/09/2021 44

#create new variable that contains month
df$month<- month( mdy (df$date))

#view updated data frame
df

        date sales month
1 01/01/2021 34 1
2 01/04/2021 36 1
3 01/09/2021 44 1

Lubridate działa również z różnymi formatami daty. Wystarczy określić format:

 #create data frame
df <- data. frame (date=c("2021-01-01", "2021-01-04", "2021-01-09"),
                  sales=c(34, 36, 44))

#view data frame
df

        dirty date
1 2021-01-01 34
2 2021-01-04 36
3 2021-01-09 44

#create new variable that contains month
df$month <- month( ymd (df$date))

#view updated data frame
df

        date sales month
1 2021-01-01 34 1
2 2021-01-04 36 1
3 2021-01-09 44 1

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje w języku R:

Jak wyodrębnić rok z daty w R
Jak obliczyć liczbę miesięcy między datami w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *