【发布时间】:2021-12-06 08:35:08
【问题描述】:
我有一个这样的数据集
data <- data.table::data.table(id = seq(1:5),
t0_year = c(2000,2001,2002,2001,2000),
t0_week = c(4,32,44,15,11),
t1_date = as.Date(c("2010-07-31", "2010-12-31", "2010-02-08", "2005-07-05", "2000-07-20")))
我想计算 t1 和 t0 之间的周时差,但是对于 t0,我只有年份和周数,而对于 t1,我有确切的日期。
我用lubridate 尝试了不同的东西,但运气不佳。有人有解决办法吗?
【问题讨论】:
-
一个无法计算日期和周之间的固定单位的差异,它们是不同的。最好的办法是确定一个范围,其中的差异可能是一个数字加或减 3.5,以表明您不知道哪个值是正确的。如果假设您的“周”从星期日或星期一或您选择的任何日期开始,那么...将
t0更改为Date(永久、作为新列或即时)和使用-或difftime进行real 差异计算。 -
作为一个粗略的例子,
2021-10-19和2021-Jan之间的(确切地说)区别是什么?我将其概括为一个月而不是一周,但要点是一样的。该值介于 261 和 291(含)之间,并且鉴于我们所知道的,它可能是任何具有相同概率的值。如果我们假设某人最有可能想要与第一天或最后一天的差异,那么它是 261 或 291 中的一个,但要知道我们需要知道哪一个原始问题的意图和/或上下文。
标签: r data.table lubridate