You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言中ifelse()函数else分支保留原AMT值的实现方法咨询

解决方案

1. 补全ifelse的else分支

直接在else位置填入原列名df_dose_DT$AMT即可,当AMT不等于-99时会保留原有值:

df_dose_DT$AMT <- ifelse(df_dose_DT$AMT==-99, doseIV2 * df_dose_DT$WTKG * df_dose_DT$DT, df_dose_DT$AMT)

2. 更符合data.table风格的写法

既然你用到了data.table包,推荐使用它的原地修改语法,只对符合条件的行赋值,代码更简洁高效:

df_dose_DT[AMT == -99, AMT := doseIV2 * WTKG * DT]

这种写法无需处理else分支,只会修改AMT == -99的行,其余行的AMT值自动保持不变。

内容的提问来源于stack exchange,提问作者yipper8

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 17:27:04