我有一个具有日期序列的R数据框。我想从一个包含一个月前日期的现有数据框中创建一个数据框。例如,让x为初始数据帧
x = data.frame(dt = c("28/02/2000","29/02/2000","1/03/2000","02/03/2000"))
Run Code Online (Sandbox Code Playgroud)
我所需的数据框y为
y = c("28/01/2000","29/01/2000","1/02/2000","02/02/2000")
Run Code Online (Sandbox Code Playgroud)
列表很大,所以我不想循环播放。我创建了一个内联函数,当我指定各个日期时可以正常工作。
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
Run Code Online (Sandbox Code Playgroud)
但是,当我在R中使用它时,它会给出随机数值。
apply(x,1,function(x) datefun(x))
Run Code Online (Sandbox Code Playgroud)
输出是
[1] 10984 10985 10988 10989
Run Code Online (Sandbox Code Playgroud)
我不知道这些数字是从哪里产生的,我错过了什么吗?