1

必须有一个非常简单的方法来做到这一点,但我不知道它是什么......

正如标题所说,我想知道如何在 R 中绘制时间序列的每一秒时间步?例如,我有半小时的数据,但我只想按小时绘制数据,例如我有

10:00 0
10:30 1
11:00 2
11:30 3
12:00 4

我只想作图

10:00 0
11:00 2
12:00 4
4

2 回答 2

3

就像是

plot(x[seq_along(x)%%2==0])

?

编辑:我不知道您是如何在上面绘制数据集的,但是无论您在做什么,都可以按如下方式对数据进行子集化

halfhourdata <- fulldata[seq(nrow(fulldata)) %%2 == 1,]

如果您提供更多详细信息,有人可能会告诉您如何确定哪些时间值是每小时的,而不是依赖(如这里)它们是奇数行的事实......

于 2012-05-17T17:15:10.697 回答
2

稍微不那么冗长,也没有 Ben 的解决方案那么清晰,但是您可以使用向量回收和使用布尔值进行索引来实现这一点(只要您只对其他所有观察感兴趣)。

# Extract the data you want (assuming you want to keep
# the first observation and skip the second, ...
newdat <- x[c(T,F)]
plot(newdat)
于 2012-05-17T17:46:52.927 回答