我试图将icd9代码转换为icd10代码。一些转换有多个结果。我只想保留最佳结果并将其放入新列。在R中转换icd9代码,在存在多个时保持最高结果
我有一个名为数据帧测试
> 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
我只是想在测试中创建一个新的列,测试$ icd10,它具有每个版本的第一个结果。所以例如,当它转换1869时,它只会将其转换为C6210。我确信有一个非常简单的解决方案,但我想不起来。
'convICD()'的返回值是'data.frame'。您正试图将其存储在一列中。这不会按照你认为的方式工作 – hrbrmstr