繁体   English   中英

缺少参数“男性”,没有默认值

[英]argument "male" is missing, with no default

我正在尝试创建一个基于患者信息执行计算的 function。 但是,我不断收到相同的错误消息,上面写着“SMARTRISK(PATIENT1)中的错误:缺少参数“男性”,没有默认值”。 这是 function:

SMARTRISK=function(age,male,smoker,systolic,diabetic,CAD,CVD,AAA,PAD,yrs,HDL,
                   TCHOL,eGFR,loghsCRP)
{
  SMARTRISK=(-0.0850*age)+(0.00105*(age^2))+(0.156*male)+(0.262*smoker)+
    (0.00429*systolic)+(0.223*diabetic)+(0.140*CAD)+(0.406*CVD)+(0.558*AAA)+
    (0.283*PAD)+(0.0229*yrs)-(0.426*HDL)+(0.0959*TCHOL)-(0.0532*eGFR)+
    (0.000306*(eGFR^2))+(0.139*loghsCRP)
  return(SMARTRISK) #return the SMARTRISK linear predictor as an output of the function
}

然后我启动了以下数据框:

age=65
male=0
smoker=1
systolic=160
diabetic=1
CAD=0
CVD=0
AAA=0
PAD=1
yrs=12
HDL=2
TCHOL=4
eGFR=100
loghsCRP=1
PATIENT1=data.frame(age,male,smoker,systolic,diabetic,CAD,CVD,AAA,PAD,yrs,HDL,
                    TCHOL,eGFR,loghsCRP)

这是我要执行的最终计算:

(1-(0.81066^(exp(SMARTRISK(PATIENT1))+2.099)))*100

我不明白为什么事情会被“男性”所困扰。 我还在 function 中尝试了 print(male) 和 print(male)==1,但仍然得到相同的结果。 为什么它不理解“男性”的论点而理解“年龄”的论点?

我正在做同样的事情。 我的设置有点不同 Data= data.frame('age',.....) 然后 SMARTRISK= function(Data) 和它下面的长公式然后对于患者数据,我做了 PATIENT1= data .frame(65,....) 并以这种方式得到我的答案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM