如何将字符列转换为日期?
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
我想添加一个仅包含月份值的列,但是无法将年月转换为具有 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
class 我们可以 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()
函数 and/or 上面的解决方案 here 回答了这个问题。
我的数据框:
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
我想添加一个仅包含月份值的列,但是无法将年月转换为具有 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
class 我们可以 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()
函数 and/or 上面的解决方案 here 回答了这个问题。