0

次のデータ フレームと変数があります。

u0 <- c(1,1,1,1,1)
df <- data.frame (u0)
a = .793
b = 2.426
r = 0.243
q = 1
w = 2
j = 1
z = .314

次のループを使用して、いくつかの計算を行い、結果をデータ フレームの最初の行に入れます。

while (j<5){
  df[q,w] <- df[q, w-1] * (r+j-1)*(b+j-1)*(z) / ((a+b+j-2)*j)
  j = j + 1
  w = w + 1
}

ここで、別のループを作成して、データ フレームのすべての行に対して同じ計算を実行したいと考えています (つまり、「q」変数を変更する必要があります)。誰かが私を助けてくれたら、私は感謝します。

4

2 に答える 2

2

を超えるwhileループ内にループを配置することでこれを行うことができますが、よりR-tasticな方法は、単純に を定義し、残りのコードをそのままにしておくことです。その後、完全に埋まります。この例では、すべての行を同一にする必要がありますか?forqq <- 1:5df

于 2012-08-07T05:23:12.193 に答える
0

for ループに入れることはできませんか?

df <- data.frame (d1=u0, d2=u0+1, d3=u0+2, d4=u0+4, d5=u0+5)
for (q in 2:5) {
while (j<5){
  df[q,w] <- df[q, w-1] * (r+j-1)*(b+j-1)*(z) / ((a+b+j-2)*j)
  j = j + 1
  w = w + 1
           }    }

アルゴリズムを確認したい場合があります。あまり面白いことをしているようには見えません。

于 2012-08-07T05:20:14.060 に答える