我从管理信息系统中下载了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/