如何在R中转换日期时处理空白项目

时间:2012-11-29 13:59:28

标签: r na missing-data as.date

我从管理信息系统下载了数据。有一些变量是日期,并在csv中写为格式为“2012/11/16 00:00:00”的字符串。

在读取csv文件后,我使用函数as.Date()将日期变量转换为日期。这适用于所有不包含任何空白项的变量。

对于那些包含空白项目的人,我收到以下错误消息: “字符串不是标准的明确格式”

如何让R用“0000/00/00 00:00:00”之类的东西替换空白项目,以便as.Date()函数不会中断?您可能会推荐其他方法吗?

2 个答案:

答案 0 :(得分:3)

如果它们是字符串,那就像

一样简单
mystr <- c("2012/11/16 00:00:00","   ","")
mystr[grepl("^ *$",mystr)] <- NA
as.Date(mystr)

工作? (正则表达式"^ *$"查找由字符串的开头(^),零个或多个空格(*)组成的字符串,后跟字符串的结尾({{1更常见的是,我认为你可以使用$来捕获其他类型的空格(标签等)。

答案 1 :(得分:0)

更好的是,在您阅读CSV时正确插入了NA:

texture(image, vec2(ux/320.0, uy/240.0))

或指定应读取为NA的所有值的向量...

read.csv(..., na.strings='')