2016-10-06 7 views

答えて

1

我々は(Rが自動的に1:5をリサイクルしますと)

rep(1:5, times = 5) + rep(0:4, each = 5) 
# [1] 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 

または単純なを使用することができます。

rep(0:4, each = 5) + 1:5 
# [1] 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 

コマンドseqでそれを行う方法はありますか?

1:50:4seq(0,4)ている間、ちょうどseq(1,5)です。


ああ、に興味がある人のために、我々はまた、outerを使用することができます。

as.numeric(outer(1:5, 0:4, "+")) 

outerへの最初の呼び出しは、この行列を生成します。

#  [,1] [,2] [,3] [,4] [,5] 
#[1,] 1 2 3 4 5 
#[2,] 2 3 4 5 6 
#[3,] 3 4 5 6 7 
#[4,] 4 5 6 7 8 
#[5,] 5 6 7 8 9 

その後、我々はas.numericを使用それを平らにする。

-1

これも行います

unlist(lapply(1:5, function(x) seq(x, 4+x, 1))) 

# [1] 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 
関連する問題