用一些简单的算法按秒排序

时间:2012-09-11 23:38:20

标签: r posixct

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的东西。

1 个答案:

答案 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"))

但是,你真的应该重新考虑你的问题和/或提供更多关于你想要做什么的信息,因为我的猜测是有更好的方法来做你正在做的事情。