データフレームに新しい変数を作成しようとしています(新しい列を作成しています)。値は観測ごとに異なって計算されますので、私はそれをループに使用しました。私は、データフレームREPLIC
に追加しようとしている新しい変数がPL
値を新しい変数に設定する
REPLIC$PL <- for (i in 1:ncol(REPLIC)) if (REPLIC$FTR[i]=="D") { REPLIC$PL[i] <- REPLIC$f_of_bet[i]*starting_budget*REPLIC$max[i])} else { REPLIC$PL[i] <- REPLIC$f_of_bet[i]*starting_budget*-1}
と呼ばれているとしましょう、私はまた、機能
を適用しようとしたのmutateREPLIC <- mutate(REPLIC, PL = for loop goes here)
を使用して試してみました
REPLIC$PL <- apply(REPLIC,1, for loop here)
I私はRに新しいが、私は実際に私がここで欠けているものを得ることはありません。これまで管理してきた唯一のことは、グローバル環境でPL
値を作成することです。もし誰かが教えてくれたら本当に嬉しいです。
をすごいああ!ソリューションがとてもシンプルになるとは思わなかった。今までのifelse機能については知らなかった。どうもありがとう!! btw - forループに関しては、どこかで 'break'を使う必要がありますか、それともデータフレームの完成後に停止するだけですか? –
forループは、入力として得られたすべての要素を反復すると終了します( '' 1:ncol'はすべての列インデックスをループします)。 'break'を追加すると、ループは完全にその時点で停止します遭遇した。 – Val