我正在尝试将 icd9 代码转换为 icd10 代码。一些转换有多个结果。我只想保留顶部结果并将其放入新列中。
我有一个名为 test 的数据框
> test
icd9
1 4260
2 41401
3 42821
4 8602
5 1869
6 41071
以及来自包 icdcoder 的函数 convICD。
> test$icd10=convICD(test$icd9, "icd9")
Error in `$<-.data.frame`(`*tmp*`, icd10, value = list(icd9 = c("1869", :
replacement has 7 rows, data has 6
它会引发错误,因为某些转换有多个结果。例如代码 1869 转换为两个不同的值。
> convICD(1869, "icd9")
icd9 icd10
1 1869 C6210
2 1869 C6290
我只想在测试中创建一个新列 test$icd10 ,其中包含每个版本的第一个结果。因此,例如,当它转换 1869 时,它只会将其转换为 C6210。我确信有一个非常简单的解决方案,但我想不出。