R 无法确定为什么我';“我收到了警告”;要更换的项目数量不是更换长度的倍数”;

R 无法确定为什么我';“我收到了警告”;要更换的项目数量不是更换长度的倍数”;,r,R,返回它的方程式如下: 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

返回它的方程式如下:

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
当我手动输入方程式时(即在代码运行完成后在工作区中),我得到:

没有警告

问题是,我收到了太多这种性质的警告,它们淹没了所有其他可能很重要的警告,当我使用“warnings()”时,我看到的只是这个等式的错误消息反复出现


有人能看出问题所在吗?我意识到如果没有完整的代码(大约2000行长),不可能一直准确地知道发生了什么,但我确信QALY_PopNorm和QALY_Expert_Decr总是长度为1的向量,因此,我不知道警告来自何处。

通过将警告转换为错误并输入调试器,您应该能够准确地看到问题所在:

options(warn=2, error=recover)
您将能够在发出警告时检查相关变量的值

options(warn=2, error=recover)