求助:R Studio对相同日期比较语句返回不同结果的问题
问题分析与解决:R中日期比较结果不一致的问题
核心问题出在你写的
as.Date(2022-10-12)上:没给日期字符串加引号的话,R会先把2022-10-12当成算术表达式计算,结果是2000,然后把数字2000转成日期——R默认把数字视为从1970-01-01开始的天数,所以这个表达式实际得到的是1975-06-28,和你想比较的2022-10-12完全不是同一个日期,自然会返回不符合预期的结果。正确的写法必须给日期字符串加引号,改成
as.Date("2022-10-12"),这样R才会正确解析成你需要的日期对象。你可以自己验证下两种写法的差异:
# 错误写法,得到1975年的日期 as.Date(2022-10-12) # 正确写法,得到目标日期 as.Date("2022-10-12")最终的正确语句应该是:
print(as.Date(test) <= as.Date("2022-10-12"))只要
test对应的日期确实小于等于2022-10-12,就会返回TRUE。
内容的提问来源于stack exchange,提问作者Steven
相关产品推荐
相关产品推荐

