我正在做一项关于中风症状性或无症状的钙化量的研究项目。
症状侧可以是1(右)或2(左)。对于所有情况,我计算了右侧和左侧的钙化量。接下来,我想比较两侧(symp。与asymp)的钙化总量。
我认为以下代码是正确的:
ds$totalcalcSymp <- if(ds$sympt_side==2) ds$totalcalcL else
(ds$totalcalcR)
ds$totalcalcAsymp <- if(ds$sympt_side>1) ds$totalcalcR else
(ds$totalcalcL)
但是,上面的R代码似乎不起作用。对于症状方面,我得到的值与totalcalcR(右侧)相似。并且对于totalcalcL(左侧)的无症状侧值。
我也尝试过仅使用if语句,但仍然得到与上面相同的结果。问题是否与我收到的警告信息有关?
the condition has length > 1 and only the first element will be used
将正确的一侧(totalcalcR或totalcL)与中风的症状和渐近方面联系起来的适当解决方案是什么?
提前谢谢大家!
答案 0 :(得分:1)
尝试使用ifelse()
:
ds$totalcalcSymp <- ifelse(ds$sympt_side==2, ds$totalcalcL, ds$totalcalcR)