Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.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 润滑分析日期警告_R_Lubridate - Fatal编程技术网

R 润滑分析日期警告

R 润滑分析日期警告,r,lubridate,R,Lubridate,当我试图读取包含许多日期的向量a时,我收到了警告 这是我使用write(a,“a.txt”)创建的vectorA的文本文件。因为它很大,我把它贴在谷歌硬盘上,供任何人下载。基本上,它包含从2012年1月1日到2012年12月31日的日期,重复多次 我试图这样做,但收到了一条警告信息 > head(ymd(a)) [1] "2012-01-01 UTC" "2012-01-01 UTC" "2012-01-01 UTC" "2012-01-01 UTC" "2012-01-01 UTC"

当我试图读取包含许多日期的向量a时,我收到了警告

这是我使用
write(a,“a.txt”)
创建的
vectorA
的文本文件。因为它很大,我把它贴在谷歌硬盘上,供任何人下载。基本上,它包含从2012年1月1日到2012年12月31日的日期,重复多次

我试图这样做,但收到了一条警告信息

> head(ymd(a))
[1] "2012-01-01 UTC" "2012-01-01 UTC" "2012-01-01 UTC" "2012-01-01 UTC" "2012-01-01 UTC"
[6] "2012-01-01 UTC"
Warning message:
 7202 failed to parse. 
查看警告消息,很容易认为日期格式错误。但是,YYYY-MM-DD是lubridate支持的格式。当我对向量的一部分做同样的处理时,什么也不会发生

> head(ymd(a[1:50000]))
[1] "2012-01-01 UTC" "2012-01-01 UTC" "2012-01-01 UTC" "2012-01-01 UTC" "2012-01-01 UTC"
[6] "2012-01-01 UTC"
使用
strtime
as.Date
也不会产生任何错误

> head(strptime(a,format="%Y-%m-%d"))
[1] "2012-01-01" "2012-01-01" "2012-01-01" "2012-01-01" "2012-01-01" "2012-01-01"
> head(as.Date(a))
[1] "2012-01-01" "2012-01-01" "2012-01-01" "2012-01-01" "2012-01-01" "2012-01-01"

我的问题是,我需要担心警告消息还是可以安全地忽略它?

使用anydate包的不同解决方案,它似乎可以工作

> b <- which( is.na( ymd(as.character(a[[1]]), tz="UTC") ) )
Warning message:
 7202 failed to parse. 
> head(b)
[1] 122241 122242 122243 122244 122245 122246
> as.character(a[[1]])[head(b)]
[1] "2012-03-01(1)" "2012-03-01(1)" "2012-03-01(1)" "2012-03-01(1)" "2012-03-01(1)"
[6] "2012-03-01(1)"
library(anydate)
text <- anydate(a[, 1])
sum(is.na(text)) 

# 0
库(任意日期)

文本我从第122241行开始获得类似“2012-03-01(1)”的值。我不知道可能是我错了,但正因为如此,你可能得到了警告。啊,就是这样。非常感谢。这是一个很好的答案,但如果我们可以直接访问导致警告的数据,那就更好了。
library(anydate)
text <- anydate(a[, 1])
sum(is.na(text)) 

# 0