PCICt 不适用于每月的第 31 天

PCICt not working with day 31 of month

我正在使用 PCICt 获取使用 360 天日历的个人的出生日期。但是,当我 运行 它时,似乎日期为“31”的日期不起作用。可能还有另一个问题,但这对我来说就是这样,因为它 returns 当它达到这样的数字时会出现以下错误:

Error in missing(res) : 'missing' can only be used for arguments

这是我的代码:

for(i in 1:nrow(df)){
  as.PCICt(df$date[i], cal = "360_day"))
}

谢谢!

编辑: 我本质上是用它们并减去另一个日期来找到个人的年龄。 这是我为该任务编写的代码:

  df$age[i] <- as.numeric((as.PCICt(df$date[i],cal ="360_day") as.PCICt(df$dob[i],"360_day"))/86400)/360

首先尝试 运行 到 as.POSIXct()。似乎对我有用:

for(i in 1:nrow(df)){
  as.PCICt(as.POSIXct(df$date[i]), cal = "360_day"))
}

当你给它一个字符对象时,它只是直接将该值作为 360 天日历值,它不会将它从常规日历转换为 360 天日历。所以如果你想输入 365 天的日历格式,你首先必须通过 as.POSIXct() 传递它所以 as.PCICt() 知道它需要将它从 365 转换为 360 日历。