【发布时间】:2022-01-20 19:06:48
【问题描述】:
我有一份手术前后疼痛、功能和健康评分的患者名单。我想用一个标准来决定每个患者在手术后是否有所改善。
标准很复杂,我想使用 dplyr 包和 case_when 函数添加一个额外的列 - 改进 - 根据标准结果是或否。
标准如下:
如果满足以下条件,则认为患者有所改善:
- 疼痛或功能评分变化 >50% 且任一评分的绝对值变化 >20。
或
如果满足 2/3 标准,则认为患者有所改善:
- 疼痛评分变化 >20% 且绝对值变化 >10。
- 功能得分变化 >20%,绝对值变化 >10。
- 幸福指数变化 >20%,绝对值变化 >10。
【问题讨论】:
-
这将有助于制作一些示例数据。例如。
data.frame(patient = 1:3, pain_pre = c(30, 50, 60), pain_post = c(15, 25, 65)) -
没有可重现的例子,很难提供具体的解决方案。我觉得
case_when可能不是最好的方法。 -
欢迎来到 SO,Yushy Zhou!您谈到像
pain changed和absolute value has changed这样的变量,但这些变量可能是模棱两可的。这是复合逻辑语句的简单应用,几乎可以肯定,但这里有太多的不确定性,甚至无法开始为您提供工作代码。请参阅stackoverflow.com/q/5963269、minimal reproducible example 和 stackoverflow.com/tags/r/info。
标签: r dplyr conditional-statements case