私はR(およびプログラミング全般)に非常に不慣れであり、この(おそらく非常に簡単な)質問に数日間こだわっています...
ベクトル3 6 12 24 48 96 192 384 768
for
ループで?
私がこれまでに思いついたのは、次のようなものです。
x=numeric()
for (i in 1:8) (x=2*i[-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倍にします。明らかに、あなたは他のステートメントをn <- n*2
ステートメントの前または後に置くことにより、その2倍形式、またはまだ2倍形式でない形式で使用できます。
希望するループを作成するために、これら2つのことを組み合わせることを願っています。
x=c()
x[1] = 3
for (i in 2:9) {
x[i]=2*x[i-1]
}
本当に、人々。アルンのコメントに隠れているソリューションに固執します。
Rgames> 3*2^(0:20)
[1] 3 6 12 24 48 96 192 384 768
[10] 1536 3072 6144 12288 24576 49152 98304 196608 393216
[19] 786432 1572864 3145728