私は R (およびプログラミング全般) の初心者で、この (おそらく非常に簡単な) 質問に数日間悩まされています...
3 6 12 24 48 96 192 384 768
ループ付きのベクトルを作成するにはどうすればよいでしょうかfor
?
これまでのところ、私が思いついたのは次のようなものばかりです。
x=numeric()
for (i in 1:8) (x=2*i[-1])
しかし、それはうまくいきません。主な問題の 1 つは、シーケンス内の数字をインデックスする方法がわからないことだと思います。
誰かが私に正しい方向を指し示してくれるなら、それは本当に助かります!
ベストアンサー1
さて、まず知っておくべきことは、ベクトルに何かを追加する方法です。必要な関数は簡単ですappend
:
x <- c(1, 2)
x <- append(x, 3)
はベクトルxに、(1, 2, 3)
を実行したのと同じものを含めますx <- (1, 2, 3)
。次に理解する必要があるのは、ターゲットベクトルの各要素が前の要素の2倍であることです。これはforループで簡単に行うことができます。
n <- 1
for (i in 1:8)
{
n <- n*2
}
各ループで n が 2 倍になります。もちろん、他のステートメントをステートメントの前または後に置くことで、2 倍になった形式、またはまだ 2 倍になっていない形式で使用できますn <- n*2
。
これら 2 つを組み合わせて、必要なループを作成できることを願っています。