在第n + 16处提取某些行

时间:2016-08-12 14:25:20

标签: r

我有一个数据帧cbr。我想提取第17行第27行和第16行,直到第16369行,这样提取的行将是17 18 19 20 21 22 23 24 25 26 27 33 34 35 36 37 38 39 40 41 42 43 49 50 51 52 53 54 55 56 57 58 59 65 66 67 68 69 70 71 72 73 74 75 ............. 16369。我的想法是:

> 17:27
 [1] 17 18 19 20 21 22 23 24 25 26 27
> 17:27
 [1] 17 18 19 20 21 22 23 24 25 26 27
> 17:27 + 16
 [1] 33 34 35 36 37 38 39 40 41 42 43
> 17:27 + 32
 [1] 49 50 51 52 53 54 55 56 57 58 59
> 17:27 + 48
 [1] 65 66 67 68 69 70 71 72 73 74 75

但是,我认为,我的想法很麻烦。我认为应该用简单的代码编写。感谢。

1 个答案:

答案 0 :(得分:0)

这里是迭代的预览:

Map('+', list(17:27), 16*1:4)
# [[1]]
#  [1] 33 34 35 36 37 38 39 40 41 42 43
# 
# [[2]]
#  [1] 49 50 51 52 53 54 55 56 57 58 59

我们可以继续这个过程以达到最终目标:

Map('+', list(17:27), 16*1:1001)
# ...
# ...
#
# [[998]]
#  [1] 15985 15986 15987 15988 15989 15990 15991 15992 15993 15994 15995
# 
# [[999]]
#  [1] 16001 16002 16003 16004 16005 16006 16007 16008 16009 16010 16011
# 
# [[1000]]
#  [1] 16017 16018 16019 16020 16021 16022 16023 16024 16025 16026 16027
# 
# [[1001]]
#  [1] 16033 16034 16035 16036 16037 16038 16039 16040 16041 16042 16043