x <-80
test <- seq(from=as.POSIXct('x - 1',format='%M'),to=as.POSIXct('x +
1',format='%M'),by='sec')
# this doesn't actually work
我要做的是在这里以秒为单位创建一个序列,但我想在我的'to'和'from'参数中加入一些简单的算法。
上面的代码显然不起作用,我可以得到一些帮助吗?
我需要能够使数值大于且小于60的东西。
答案 0 :(得分:2)
试试这个:
test <- seq(from=strptime(x - 1, format='%M'),
to=strptime(x + 1, format='%M'),
by='sec')
然后你可以随意format
。
请查看?strptime
,因为这是一个非常有用的帮助页面,当您使用R中的日期/时间时,您可能会多次参考。
你可以把@plannapus的好建议像这样工作
tmp <- seq(strptime(paste((x-1)%/%60, (x-1)%%60, sep=":"), format="%H:%M"),
strptime(paste((x+1)%/%60, (x+1)%%60, sep=":"), format="%H:%M"),
by='sec')
as.numeric(format(tmp, "%M.%S"))
但是,你真的应该重新考虑你的问题和/或提供更多关于你想要做什么的信息,因为我的猜测是有更好的方法来做你正在做的事情。