2017-04-12 14 views
0

私はRの初心者ですので、あまりにも明白ではないと思います。私は数字を繰り返すベクトルを作成しようとしていますが、それはrep()で作ることができない警告があります:関数は、ベクトルxの最初の数をy回繰り返す必要があります。ベクトル内の数字を順番に繰り返します。

> rep(1:3, 5) 
[1] 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 

しかし、私は希望::Y回、第3等の私が手repを使用して、例えば私がやって管理したのは何

> 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 

は、この特定を返す関数を作成しましたベクター(1:3):

some.func <- function(x,y){ 
for(i in x){ 
    if(i == 1){ 
     a <- rep(i,y) 
    }else if(i == 2){ 
     b <- rep(i,y) 
    }else if(i == 3){ 
     c <- rep(i,y) 
     print(var <- c(a,b,c)) 
    } 
    } 
} 
> some.func(1:3, 5) 
[1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 

しかし、それは明らかにベクターが3を超えない場合にしか機能しません。そして今、私は立ち往生しています。どんな助けにも感謝!

+3

'担当者(1:3、各= 5)' –

+0

まあ、それはかなり明白だった....ありがとう。 – Lfppfs

答えて

0

P Lapointeの答え:

rep(1:3, each=5) 
関連する問題