假设我有一个类似下面的矢量
> head(samp)
[1] 1959.000 1959.083 1959.167 1959.250 1959.333 1959.417
> tail(samp)
[1] 1997.500 1997.583 1997.667 1997.750 1997.833 1997.917
此向量表示我正在构建的图的x值。我希望将每年的价值叠加在我的情节之上。为此,我认为我必须将此samp
向量除以整数值。
最简单的方法是什么?
我提出的唯一解决方案是使用
来完成所有年份的序列years <- seq(floor(min(samp)),
ceiling(max(samp)))
然后循环查看年份并编制索引以查找属于每年的值。尽管如此,感觉应该有一些方法可以比明确的循环更容易地逐年削减我的矢量。
答案 0 :(得分:2)
我只是回答我的评论:
您正在寻找split
函数(请参阅?split
查看一些示例)
它将您的向量和相同长度的因子(数字可以)的向量作为参数,定义如何对值进行分组。 split
的输出是一个列表。
samp = c(1959.000 ,1959.083 ,1959.167 ,1959.250, 1960.000 ,1960.083)
split(samp, floor(samp))
#### $`1959`
#### [1] 1959.000 1959.083 1959.167 1959.250
####
#### $`1960`
#### [1] 1960.000 1960.083