此代碼產生一個錯誤丟失的值:該R代碼產生其中TRUE/FALSE錯誤
Error in while (diff < limit) { : missing value where TRUE/FALSE needed
i <- 1
j <- 1
limit <- 0.05
diff <- 0
ppm <- rep(NA,20)
while(i[1]<=nrow(list))
{
while(diff < limit) ##This is where the error is occurring
{
if(j==0)
ppm <- rep(NA,length(ppm))
ppm[j] <- list$ppm[i]
j <- j+1
if(j > 1)
diff <- ppm[j]-ppm[j-1]
}
print(ppm)
}
現在我已經發現,這通常是因爲在當條件被評估,以NA且因此而不能檢查TRUE/FALSE。但在這種情況下,我真的不知道錯誤是什麼。
'調試'標籤是關於調試的問題。這不是你希望我們爲你做調試的地方。 – 2012-03-05 21:37:28
沒有意識到這一點。現在刪除標籤。 – 2012-03-06 13:25:03
如果你想重新打開這個問題,你可以嘗試將它改寫爲「怎麼樣去調試這類問題」? (提示:如果手動跟蹤邏輯沒有這樣做,用'cat'調試語句如下所示可以提供幫助。) – 2012-03-06 13:37:49