r语言 - 涂抹麻烦



以下是可复制的示例(至少在我的计算机上)

a <- as.Date(as.Date("2012-10-01"):as.Date("2013-03-25"))
myFun <- function (x) {
    return(sqrt(abs(as.numeric(x-as.Date("2013-01-01")))))
}

for (i in 1:length(a)) { print(myFun(a[i])) }可以,但是

sapply(a,myFun)失败,出现错误信息

"Error in `-.Date`(x, as.Date("2013-01-01")) : 
Can only subtract from Date objects"

欢迎大家集思广益

欢呼

它没有为我工作,直到我加载了zoo包。在此之前,这是因为日期和数字之间的强制问题,而不提供origin。如果您尝试detach(package:zoo)并运行:

 a <- as.Date("2012-10-01"):as.Date("2013-10-01")
myFun <- function (x) {
    return(sqrt(abs( x - as.numeric( as.Date( "2013-01-01" ) ) ) ) )
}
sapply(a,myFun)

我得到同样的东西,我做当我加载包zoo。原因是(在我的R会话中)没有运行zoo,第一个命令的结果是:

 as.Date(as.Date("2012-10-01"):as.Date("2013-03-25"))

结果:

Error in as.Date.numeric(as.Date("2012-10-01"):as.Date("2013-03-25")) : 
  'origin' must be supplied

相关内容

  • 没有找到相关文章

最新更新