我在 R 中遇到了一些不寻常的计算日期的行为
我正在尝试通过从出生日期开始计算 9 个月来估计受孕日期,其中出生日期的格式为
as_date("1946-03-31"
.
所以,计算看起来像
as_date("1946-03-31")- months(9)
然而,我得到的不是约会,而是
NA
.
奇怪的是,如果我改变月份,我会得到一个完美的结果:
as_date("1946-03-31")- months(8)
或
as_date("1946-03-31")- months(10)
都有效。
如果我用几天,我也能得到一个完美的约会
as_date("1946-03-31")- days(273)
我失踪有一个完全明显的原因吗?如果不是,这是否可以在其他设置中复制?
月份定义不明确。 3 月 30 日之前的 1 个月是多少?它没有明确定义,因为二月的天数少于三月。 “9个月”作为妊娠期也是一个非常粗略的估计。你期待
as_date("1946-03-31")- months(9)
的答案是什么?是as_date("1946-03-28")- months(9)
后3天吗?还是前一天as_date("1946-04-01")- months(9)
?两者都有些合理,但使用通用方法时它们是不同的。当我用谷歌搜索“人类妊娠期”时,我得到 280 天——我建议改用它。日子美好而一致。