私は癌患者のシミュレーションを行い、モデルに新しい問題があります。 行列を満たし、常に同じエラーメッセージを取得しようとしているとき:がんモデルでは、ループで行列を埋めるとエラーメッセージ "TRUE/FALSEが必要なところに値がありません"が返されます
「エラー場合に(m.Results [I、T - 1] == "o.SURV_NC"){: 欠落値場合TRUE/FALSEに必要な」
私の目標は、前のセルにすでにあった場合、その列2がo.DEADとして設定されますでは
n.i<-5
n.t<-10
m.Results <- matrix(nrow = n.i, ncol = n.t)
m.Results[1, 1] = "o.SURV_NC"
m.Results[2, 1] = "o.SURV_NC"
m.Results[3, 1] = "o.DEAD"
m.Results[4, 1] = "o.DEAD"
m.Results[5, 1] = "o.DEAD"
for (t in 2:n.t) {
for (i in 1:n.i) {
if (m.Results[i, t - 1] == "o.SURV_NC") {
m.Results[i, t] = "o.SURV_NC"
}
}
}
興味深いことに、エラーメッセージがあれば最初の塗りつぶしを消え
例をo.DEAD行列全体が数字で表されます。
n.i<-5
n.t<-10
m.Results <- matrix(9, nrow = n.i, ncol = n.t)
m.Results[1, 1] = "o.SURV_NC"
m.Results[2, 1] = "o.SURV_NC"
m.Results[3, 1] = "o.DEAD"
m.Results[4, 1] = "o.DEAD"
m.Results[5, 1] = "o.DEAD"
for (t in 2:n.t) { #open loop for columns
for (i in 1:n.i) { #open loop for rows
#
#PREVIOUSLY DEAD PATIENTS
if (m.Results[i, t - 1] == "o.SURV_NC") {
m.Results[i, t] = "o.SURV_NC"
}
}
}
はどんなアドバイス
あなたは 'm.Results <行う可能性 - (「」、nrow = NI、NcoI部位= NT)'代わりに行列を – rawr
よく9は問題ではありませんが、実際には、最初の列のセルがすでにo.DEADだった場合、2番目の列のセルがo.DEADに設定されます。 – fank
9が実際に問題です。あなたの例では、NAの行列で始まり、NAを別の値と比較すると常にNAになります。 9または ''''を使用する理由は、9または '' 'を別の値(つまり、 '' o.SURV_NC "')と比較しているためです。 – Noah