簡體   English   中英

如何將字符列轉換為日期?

[英]How to convert character column to date?

我的數據框:

  yearmonth basinflow
  <chr>         <dbl>
1 1966-01   0.000105 
2 1966-02   0.0000946
3 1966-03   0.816    
4 1966-04   5.17     
5 1966-05   0.102    
6 1966-06   0.0729   

我想添加一個只有月份值的列,但是將 yearmonth 轉換為 as.Date 的日期不起作用。

as.Date(df_Month$yearmonth, format = "%Y-%m")

[1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
 [35] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA

結果就是這樣。 我可以嘗試什么? 或者有沒有辦法只調用月份部分而不是日期?

我們還需要一天的Date類,我們可以paste ,然后使用%Y-%m-%d或跳過format因為默認格式是%Y-%m-%d

as.Date(paste0(df_Month$yearmonth, "-01"), format = "%Y-%m-%d")

您需要先轉換為日期嗎? 您可以從字符串中提取月份。 這將從字符串中提取“-”之后的所有內容作為數字類型。

as.numeric(gsub(".*-","",df_Month$yearmonth))

此處使用zoo::as.yearmon()函數和/或上述解決方案回答此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM