PCICt不适用于每月31日

时间:2018-03-15 18:15:21

标签: r lubridate

我正在使用PCICt来获取使用360天日历的个人的出生日期。然而,当我运行它时,似乎日期有一天" 31"不工作。可能还有另一个问题,但这对我来说似乎是正确的,因为它在遇到这样的数字时会返回以下错误:

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

1 个答案:

答案 0 :(得分:0)

首先尝试通过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日历。