所以我已经看过一些Stack Exchange的答案了,但我无法解决这个问题。
我在dataframe中有一个列,其日期为字符,如下所示
2011-12
2012-04
2011-10
etc我想将这些迄今的格式转换为以下内容:
Tots$DatesMerge<-as.Date(Tots$DatesMerge,"%Y-%m")
但我总是得到娜的回来。
我试着做这里,但没有joy。我真的不知道我做错了什么。
发布于 2016-12-01 10:10:01
我要说的是,as.Date将无法处理一个月中没有一天的值。您可以尝试使用zoo,只要您不介意它作为yearmon类出现:
library( zoo )
as.yearmon( Tots$DatesMerge )或者,您可以指定一个月中的某一天作为虚拟:
as.Date( paste0( Tots$DatesMerge, "-15" ) )发布于 2016-12-01 10:17:31
编辑:已经有答案了,而且是重复的,但是我想这个解释可能会对更多的读者有用,所以我会留下它。
解释
这来自于R,日期表示为1970-01-01年以来的天数,较早日期为负值中的文档。
因此,在R中,日期取决于年份、月份和天数,或者至少取决于表示从1970-01-01或1970-01-01之间的跨度(以天为单位)的整数。因此,R中的基日期包不能将按年份和月份格式的数据转换为日期,因为没有日期。
溶液
因此,如果您使用基R包,您可以选择提供一天的时间来转换数据。
Tots$DatesMerge <- as.Date(paste0(Tots$DatesMerge,"01"),"%Y-%m-%d")https://stackoverflow.com/questions/40907552
复制相似问题