【发布时间】:2018-03-03 15:15:21
【问题描述】:
我有一个具有日期序列的 R 数据框。我想从包含一个月前日期的现有数据框创建一个数据框。 例如让 x 成为初始数据帧
x = data.frame(dt = c("28/02/2000","29/02/2000","1/03/2000","02/03/2000"))
我需要的数据框 y 是
y = c("28/01/2000","29/01/2000","1/02/2000","02/02/2000")
列表很大,所以我不想循环。我创建了一个内联函数,当我给出单独的日期时它可以正常工作。
datefun <- function(x) seq(as.Date(strptime(x,format = "%d/%m/%Y")), length =2, by = "-1 month")[2]
datefun("28/02/2000") gives "28/01/2000" as an output
但是当我在 R 中使用它时,它会给出随机数值。
apply(x,1,function(x) datefun(x))
这个的输出是
[1] 10984 10985 10988 10989
我不知道这些数字是从哪里生成的,我是否遗漏了什么。
【问题讨论】: