首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >as.Date继续返回NAs

as.Date继续返回NAs
EN

Stack Overflow用户
提问于 2016-12-01 10:00:42
回答 2查看 744关注 0票数 1

所以我已经看过一些Stack Exchange的答案了,但我无法解决这个问题。

我在dataframe中有一个列,其日期为字符,如下所示

代码语言:javascript
复制
2011-12
2012-04
2011-10

etc

我想将这些迄今的格式转换为以下内容:

Tots$DatesMerge<-as.Date(Tots$DatesMerge,"%Y-%m")

但我总是得到娜的回来。

我试着做这里,但没有joy。我真的不知道我做错了什么。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-01 10:10:01

我要说的是,as.Date将无法处理一个月中没有一天的值。您可以尝试使用zoo,只要您不介意它作为yearmon类出现:

代码语言:javascript
复制
library( zoo )
as.yearmon( Tots$DatesMerge )

或者,您可以指定一个月中的某一天作为虚拟:

代码语言:javascript
复制
as.Date( paste0( Tots$DatesMerge, "-15" ) )
票数 4
EN

Stack Overflow用户

发布于 2016-12-01 10:17:31

编辑:已经有答案了,而且是重复的,但是我想这个解释可能会对更多的读者有用,所以我会留下它。

解释

这来自于R,日期表示为1970-01-01年以来的天数,较早日期为负值中的文档。

因此,在R中,日期取决于年份、月份和天数,或者至少取决于表示从1970-01-01或1970-01-01之间的跨度(以天为单位)的整数。因此,R中的基日期包不能将按年份和月份格式的数据转换为日期,因为没有日期。

溶液

因此,如果您使用基R包,您可以选择提供一天的时间来转换数据。

代码语言:javascript
复制
Tots$DatesMerge <- as.Date(paste0(Tots$DatesMerge,"01"),"%Y-%m-%d")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40907552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档