我有一個帶有date列(其資料型別為因子)的資料框,格式如下:
uid date
<int> <fctr>
2970134 2019-12-31T17:05:00Z
2970204 2019-12-31T23:14:00Z
2970345 2020-01-01T11:00:00Z
我已使用以下代碼將它們轉換為格式2019-12-31T00:00:00 0800:
data$date <- format(as.POSIXct(data$date), format='%Y-%m-%dT%H:%M:%S%z')
我的問題是我如何從中提取月份?我試過了,format(as.POSIXct(data$date_single, format='%Y-%m-%dT%H:%M:%S%z'),format='%m')但它回傳NAs。謝謝。
uj5u.com熱心網友回復:
你有一個小的邏輯錯誤。您獲取輸入資料并對其進行決議——到目前為止,一切都很好:
> v <- c("2019-12-31T17:05:00Z", "2019-12-31T23:14:00Z", "2020-01-01T11:00:00Z")
> pt <- as.POSIXct(v)
> pt
[1] "2019-12-31 CST" "2019-12-31 CST" "2020-01-01 CST"
>
現在您已經有了日期(時間)資訊,您可以format()或strftime()隨心所欲:
> strftime(pt, "%m")
[1] "12" "12" "01"
> strftime(pt, "%b")
[1] "Dec" "Dec" "Jan"
> strftime(pt, "%B")
[1] "December" "December" "January"
>
從characterto轉換int也很容易。請注意,所有這些都是使用基本 R 完成的,沒有任何額外的包。
uj5u.com熱心網友回復:
require(tidyverse)
require(lubridate) # Package for date and time manipulation
data %>%
mutate(month = month(date))
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/463417.html
下一篇:獲取具有多個股票類別的公司串列
