【发布时间】:2020-08-12 23:11:15
【问题描述】:
我有一个数据库,其中有些人有多种诊断。我过去曾发布过类似的问题,但现在我需要解决更多细微差别:
R- How to test multiple 100s of similar variables against a condition
我有这个数据集(这是一个 SAS 文件的导入)
ID dx1 dx2 dx3 dx4 dx5 dx6 .... dx200
1 343 432 873 129 12 123 3445
2 34 12 44
3 12
4 34 56
最初,如果任何“dxs”等于某个数字,我希望能够创建一个新变量而不使用数百个 if 语句?所有不同的变量都具有相同的格式 (dx#)。所以我使用了以下代码:
例如:
dataset$highbloodpressure <- rowSums(screen[0:832] == "410") > 0
这很好用。但是,对于同一诊断,有许多不同的代码。例如,心脏病发作可以定义为:
410.1, 410.71, 410.62, 410.42, ...这会持续 20 个额外的代码。但!它们都以 410 开头。
我考虑过使用 stringr(变量是字符串)来识别常见的代码组件(410,例如上面的示例),但不确定如何在行和的上下文中使用它。
如果有人对此有任何建议,请告诉我!
感谢大家的帮助!
【问题讨论】: