最近,当我想将data.table
的{{1}}对象分配给列时,发现:=
的赋值运算符lubridate
的奇怪行为。它确实仅将第一期分配给所有单元。这是MRE
period
我的软件包来自CRAN,library(data.table)
library(lubridate)
data.table(x = 1:5)[x == 3, p := period(7, "day")
][x == 4, p := period(1, "month")][]
# x p
# 1: 1 <NA>
# 2: 2 <NA>
# 3: 3 7d 0H 0M 0S
# 4: 4 7d 0H 0M 0S
# 5: 5 <NA>
的版本为1.11.2,data.table
的版本为1.7.4
有人知道这里发生了什么以及如何使其正常工作吗?