2016-08-12 6 views
-1

データフレームcbrがあります。私は、抽出された行が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となるように行17:27と行16369までの次の16行目を抽出したい54 55 56 57 58 59 65 66 67 68 69 70 71 72 73 74 75 ............. 16369。私が持っているアイデアは:n + 16で特定の行を抽出します。

> 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

それはあなたが望むものは全く明らかではない、でご希望の出力ので、あなたの質問の文章は17から16369にまっすぐに伸びます。 16行ごとに改行がありません。しかし、あなたが求めているものは次のとおりです: c(17:27、seq(33,16369,16)) – mkt

+0

あなたの番号は、 '16369'できちんと終わらないでしょう。 16の倍数は「16043」で終了します。 –

+0

'c(mapply( '+'、list(17:27)、16 * 1:1001))' –

答えて

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 
関連する問題