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

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

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

我怎样才能用R替换“0000/00/00 00:00:00”之类的空白项目,以使as.Date()函数不会中断?您可能还会推荐其他方法吗?

最佳答案

如果它们是字符串,则做一些简单的事情

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

工作? (正则表达式"^ *$"会查找由以下各项组成的字符串:字符串的开头(^),零个或多个空格(*),然后是字符串的结尾($)。更普遍地说,我认为您可以使用"^[[:space:]]*$"捕获其他种类的字符串空格(制表符等)

关于r - 在R中转换日期时如何处理空白项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13627405/

10-09 18:51