使用as.Date函数转换格式为20170814的字符串为日期返回NA求助
解决as.Date转换无分隔符日期字符串返回NA的问题
嘿,我明白你遇到的困扰啦!用as.Date()转换20170814这类连续数字格式的字符串时返回NA,核心问题出在没给函数指定正确的日期解析格式。
问题根源
as.Date()函数默认的解析格式是%Y-%m-%d(也就是像2017-08-14这种带横杠的结构),但你的字符串是无分隔符的连续数字,和默认格式完全不匹配,函数没法识别,自然就返回NA了。
解决方案
你只需要在as.Date()里加上format参数,明确告诉函数你的日期字符串是「4位年份+2位月份+2位日期」的结构,对应的格式符是%Y%m%d:
# 正确的转换代码示例 date_str <- "20170814" converted_date <- as.Date(date_str, format = "%Y%m%d") print(converted_date) # 输出结果:"2017-08-14"
格式符小说明
这里用到的格式符对应含义:
%Y:4位数字的年份(比如2017)%m:2位数字的月份(比如08)%d:2位数字的日期(比如14)
只要你的日期字符串结构和format参数匹配,就能顺利完成转换啦~
内容的提问来源于stack exchange,提问作者hn.phuong
相关产品推荐
相关产品推荐

