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

4

1 回答 1

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

但是,您确实应该重新考虑您的问题和/或提供有关您正在尝试做的事情的更多信息,因为我的猜测是有更好的方法来做您正在做的任何事情。

于 2012-09-12T00:26:53.893 回答