我有一个包含记录ID、24列ICD-10代码和24个相应列的数据框DF
,用于指示入院时是否存在ICD-10代码:
record_id admitting_dx principal_dx poa_principal_dx other_dx_1 poa_other_dx_1 ...
1111111 A000 A001 Y A0224 N
1111112 B409 B441 Y B464 N
1111113 J201 J850 N K37 Y
字符串
包含ICD-10代码的列的名称存储在名为ICD10_code_columns
的向量中。所有与感染对应的ICD-10代码存储在另一个名为ICD10_infxn
的向量中(约1800个ICD-10代码)。
我正在使用以下代码创建一个新列,该列指示ICD10_code_columns
中的任何一个是否包含ICD10_infxn
中包含的任何ICD-10代码:
DF <- DF %>%
mutate(
infxn = case_when(
if_any(any_of(ICD10_code_columns), ~ . %in% ICD10_infxn) ~ TRUE,
TRUE ~ FALSE
)
)
型
我想创建一个名为infxn_col_name
的附加列,该列存储第一列的名称,该列包含每个记录ID的感染相关ICD-10代码,和NA
用于没有任何感染相关ICD-10代码的记录ID。我还想确定感染相关ICD-根据存储在相应的POA_
列中的值,在准入时存在10代码。理想情况下,该解决方案将使用dqr,但这不是必需的。
我尝试使用apply()
和max.col
导致了“无法评估”错误:“操作只能用于数字、逻辑或复杂类型”。
2条答案
按热度按时间fykwrbwg1#
我将提供以下tidyverse解决方案:
字符串
对于以下数据:
型
它将返回以下结果:
型
ruoxqz4g2#
感谢asd-tm的建议。它让我走上了正确的道路,得到了一个有效的解决方案。最终,我使用purrr得到了我需要的结果:
字符串