Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R as.Date不断返回NAs_R - Fatal编程技术网

R as.Date不断返回NAs

R as.Date不断返回NAs,r,R,所以我已经通过了一些堆栈交换的答案,我无法解决这个问题 我在数据框中有一列,其日期如下所示 2011-12 2012-04 2011-10 etc 我想将这些格式转换为日期格式,我已尝试按以下方式进行转换: Tots$DatesMerge我想说,as.Date将无法处理没有日期的值。您可以尝试使用zoo,只要您不介意它以yearmon类的形式出现: library( zoo ) as.yearmon( Tots$DatesMerge ) 或者,您可以指定一个月中的某一天用作虚拟日期: as

所以我已经通过了一些堆栈交换的答案,我无法解决这个问题

我在数据框中有一列,其日期如下所示

2011-12
2012-04
2011-10

etc
我想将这些格式转换为日期格式,我已尝试按以下方式进行转换:


Tots$DatesMerge我想说,
as.Date
将无法处理没有日期的值。您可以尝试使用
zoo
,只要您不介意它以
yearmon
类的形式出现:

library( zoo )
as.yearmon( Tots$DatesMerge )
或者,您可以指定一个月中的某一天用作虚拟日期:

as.Date( paste0( Tots$DatesMerge, "-15" ) )

我想说,
as.Date
无法处理没有日期的值。您可以尝试使用
zoo
,只要您不介意它以
yearmon
类的形式出现:

library( zoo )
as.yearmon( Tots$DatesMerge )
或者,您可以指定一个月中的某一天用作虚拟日期:

as.Date( paste0( Tots$DatesMerge, "-15" ) )
编辑:已经有一个答案了,它是重复的,但是我想这个解释对更多的读者来说是有用的,所以我将留下它

解释

这来自R中的文档

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

解决方案

因此,如果使用,您可以选择提供一个用于转换数据的日期

Tots$DatesMerge <- as.Date(paste0(Tots$DatesMerge,"01"),"%Y-%m-%d")
Tots$DatesMergeEdit:已经有一个答案了,它是重复的,但是我想这个解释对以后的读者可能会有用,所以我将留下它

解释

这来自R中的文档

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

解决方案

因此,如果使用,您可以选择提供一个用于转换数据的日期

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

Tots$DatesMerge应该有效,或者答案在那上面。应该行,或者上面的答案。你只是从评论中提到的重复帖子中复制答案吗?不。如果看起来是这样的话,很抱歉。看到评论后,我看了这些链接,是的,它们是相似的。当有一个有效的答案时,事情就是这样。对不起,我是不是因为我的答案恰好与评论中的一个链接相同,而有人认为我“作弊”才被否决了?我猜@rosscova回答了这个问题,它很有效,所以得到了分数。不是我,但很明显,你因为回答了一个重复的问题而获得了否决票。你只是从评论中提到的重复帖子中复制答案吗?不。如果看起来是这样,我很抱歉。看到评论后,我看了这些链接,是的,它们是相似的。当有一个有效的答案时,事情就是这样。对不起,我是不是因为我的答案恰好与评论中的一个链接相同,而有人认为我“作弊”才被否决了?我猜@rosscova回答了这个问题,它很有效,所以得到了分数。不是我,但很明显你得到了否决票,因为你回答了一个重复的问题。