r语言 - 浮点数按整数值拆分向量



假设我有一个像下面这样的向量

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

然后遍历年份并索引以查找属于每年的值。不过,感觉应该有某种方法可以像这样按年份切割我的向量,而不是显式循环。

我只是把我的评论变成一个答案: 您正在寻找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

最新更新