在R数据框列中,我有一系列代表时间点的数字。我正在测量的事件持续六个时间点,因此每第6个数字都是新事件的开始。这意味着第一个事件的持续时间是第6个数字减去第1个数字;第二个事件的持续时间是第11个数字减去第6个数字;等等。例如:
事件持续时间:(761-0 = 761);(1463-761 = 702)
我如何编写简单的代码来输出事件持续时间,而不管记录了多少事件,即不管列中有多少值?
您可以使用模运算符%%
从与您的向量长度相同的整数序列中选择1模5(即1、6、11、16、21等)的索引,然后找到该diff
子集的。
diff(vec[seq_along(vec) %% 5 == 1])
#> [1] 761 702
数据
vec <- c(0L, 117L, 313L, 366L, 484L, 761L, 878L, 1073L, 1127L, 1245L, 1463L)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句