R 提取第n个+处的某些行;16

R 提取第n个+处的某些行;16,r,R,我有一个数据帧cbr。我想提取第17:27行和下一个第16行,直到第16369行,这样提取的行将是17 18 19 20 21 22 24 25 26 27 33 34 35 36 37 38 39 40 41 42 43 49 50 51 52 53 54 55 57 58 59 66 67 69 70 72 74 75…………16369。我的想法是: > 17:27 [1] 17 18 19 20 21 22 23 24 25 26 27 > 17:27 [1] 17 18

我有一个数据帧cbr。我想提取第17:27行和下一个第16行,直到第16369行,这样提取的行将是17 18 19 20 21 22 24 25 26 27 33 34 35 36 37 38 39 40 41 42 43 49 50 51 52 53 54 55 57 58 59 66 67 69 70 72 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

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

这里是迭代的预览:

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

根本不清楚你想要什么,因为你在问题文本中想要的输出是从17到16369;每16排没有休息。但是,您要求的是:c(17:27,seq(3316369,16))您的号码不会整齐地以
16369结尾。这16个倍数将在
16043
处结束。这里是最接近的
c(mapply(+',list(17:27),16*1:1001))
尝试获取行索引:
ix谢谢。我想做的是从数据帧中提取行号。行号是已经在此序列中生成的行号(映射(+)、列表(17:27)、16*1:1001)。