2016-09-16 22 views
-1

10個の数値のベクトルを返すループを作成しようとしました。ブロックが生成した出力の各要素に別の行をラベル付けしようとするまで、うまくいった。命名は、それぞれのエントリーを固有のラベル文字で生成することになっています。 "number" [n]ここで、nは数値ベクトルの生成に使用されたリピートシーケンスの番号です。"for"ループが数値ベクトルの要素にラベルを付ける方法R

multiples <- c() 
i <- c(1:10) 
for (n in i) { 
    print (n * 10) 
    multiples[n] <- n * 10 
    names(multiples)[n] <- "number"[n] 
} 
multiples 

実行は成功しましたが、結果は私が期待しているものではありません。同じforループを使用して要素に正しく名前を付ける方法はありますか?

+0

こんにちはDeependraすることができます。どうぞご覧ください[Rの再現性の高いサンプルを作成するには?](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) –

+0

@RonakShah私の謝罪問題を不安定にしてしまった。 –

+0

さらに別の方法は 'sprintf'を以下のように使用することです:' names(multiples)[n] < - sprintf( "number%d"、n) ' –

答えて

0

私はあなたがここでループする必要はないと思います。

これを実行しようとしていますか?

i <- 1:10 
multiples <- i * 10 
names(multiples) <- paste0("number", i) 

multiples 
#number1 number2 number3 number4 number5 number6 number7 number8 
# 10  20  30  40  50  60  70  80 
#number9 number10 
# 90  100 

あなたはforループに固執したい場合は、

i <- c(1:10) 
multiples <- numeric(10) 
names(multiples) <- "" 
for (n in i) { 
multiples[n] <- n * 10 
names(multiples)[n] <- paste0("number", n) 
} 
+0

ありがとう。まさにその。しかし、 "for"ループを使ってどのように同じ目的が達成されますか? Rの統計プログラミングの初心者として、私はほとんどの基本的な明示的ループの理解に固執したいと思うでしょう。 –

+0

@DeependraDhakalが答えを更新しました。それが役に立つと願っています。 –

+1

悪い習慣を教えてはいけません。あなたはベクトルがどれだけ大きくなるかを知っています。それを事前に割り当てる。 – Roland

関連する問題