2013-05-31 37 views
0

返回正是這個公式:無法確定爲什麼我收到警告「的項目,以取代數量不是更換長度的倍數」

Total_Eff[PatientDI] = (Total_Eff[PatientDI] + (QALY_PopNorm - QALY_Infert_Decr)*0.5*(0.95^CLOCK[PatientDI])) 

凡在工作區中,在對象問題有值,如:

> Total_Eff 
[1] 12.03512 0.00000 0.00000 0.00000 
> QALY_PopNorm 
[1] 0.9363524 
> QALY_Infert_Decr 
[1] 0.05609429 
> CLOCK 
[1] 20.716 0.000 0.000 0.000 
> PatientDI 
[1] 1 

,當我手動輸入公式(即在後,我的代碼已經完成運行工作區),我得到:

> (Total_Eff[PatientDI] + (QALY_PopNorm - QALY_Infert_Decr)*0.5*(0.95^CLOCK[PatientDI])) 
[1] 12.18721 

沒有警告。

問題是,我得到了如此多的這種性質的警告,他們淹沒了其他可能很重要的警告,並且當我使用「warnings()」時,我所看到的是這個等式的錯誤消息一遍又一遍地重複。

任何人都可以看到問題在哪裏?我意識到如果沒有整個代碼(大約2000行),不可能始終確切地知道發生了什麼,但我確定QALY_PopNorm和QALY_Infert_Decr總是長度爲1的向量,所以我很茫然問警告來自何處。

回答

0

您應該能夠清楚地看到問題所在的轉換警告變爲錯誤,並進入調試器:

options(warn=2, error=recover) 

,您就可以在的時間來檢驗相關變量的值警告。

相關問題