如何基于检查多个列的多个值来有条件地编码新变量

杰夫

我想在一组变量(DX1-DX5)中搜索一系列值(ICD9 代码列表或 ICD10 代码列表),条件是 DXVER=9 搜索 ICD9 列表,DXVER=10 搜索 ICD10 列表。这可以手动写出,但因为变量和代码列表可能更长,我想通过按名称引用组来学习这样做。

我已经尝试过 if else 语句、rowsum 和编码每个单独的步骤。尽管我总是遗漏了三个要求中的一个步骤,但这些都可以工作。1.以DXVER为条件 2.DX1-DX5列表参考DXS 3.代码列表参考ICD9和ICD10

ICD9 <- c('042', '7953', '79571', 'V08')
ICD10 <- c('888', 'a10', 'b10', '987')

DXS <- c(paste('DX', seq(1:5), sep = '')) 

MergedData<-data.frame(DXVER=c("9", "9", "0", "0", "9"),
                   DX1 = c('042',"1","1","2","1"),
                   DX2 = c("4","3",'2',"4","3"),
                   DX3 = c("2","2","4","2","2"),
                   DX4 = c("3",'101',"2","3","2"),
                   DX5 = c('79571',"3",'888',"2","2"),
                   ID  = c(345, 123, 246, 432, 121))

MergedData$HIV_claim<NA
MergedData$HIV_claim[MergedData$DX1 %in% ICD9 & MergedData$DXVER=="9"] <- 
1 
MergedData$HIV_claim[MergedData$DX2 %in% ICD9 & MergedData$DXVER=="9"] <- 
1 
MergedData$HIV_claim[MergedData$DX3 %in% ICD9 & MergedData$DXVER=="9"] <- 
1 
MergedData$HIV_claim[MergedData$DX4 %in% ICD9 & MergedData$DXVER=="9"] <- 
1 
MergedData$HIV_claim[MergedData$DX5 %in% ICD9 & MergedData$DXVER=="9"] <- 
1 

MergedData$HIV_claim[MergedData$DX1 %in% ICD10 & MergedData$DXVER=="0"] <- 
1 
MergedData$HIV_claim[MergedData$DX2 %in% ICD10 & MergedData$DXVER=="0"] <- 
1 
MergedData$HIV_claim[MergedData$DX3 %in% ICD10 & MergedData$DXVER=="0"] <- 
1    
MergedData$HIV_claim[MergedData$DX4 %in% ICD10 & MergedData$DXVER=="0"] <- 
1 
MergedData$HIV_claim[MergedData$DX5 %in% ICD10 & MergedData$DXVER=="0"] <- 
1 


 MergedData2 <- MergedData

 MergedData2$HIV_claim9<NA
MergedData2$HIV_claim10<NA
MergedData2$HIV_claim9 <-  ((rowSums(MergedData2[, DXS] == ICD9,  na.rm=T) 
> 0) * 1)
MergedData2$HIV_claim10 <- ((rowSums(MergedData2[, DXS] == ICD10, na.rm=T) 
> 0) * 1)

MergedData2$HIV_claim  <-  ifelse(MergedData2$DXVER == 9, 
ifelse(MergedData2$DX1 %in% ICD9 |  MergedData2$DX2 %in% ICD9
 |  MergedData2$DX3 %in% ICD9 |  MergedData2$DX4 %in% ICD9
|  MergedData2$DX5 %in% ICD9,1,0),0)
炖肉
library(dplyr)

md %>% gather(dx,v,-DXVER,-ID) %>% 
  mutate(hiv = ifelse((v %in% ICD9 & DXVER=='9') | (v %in% ICD10 & DXVER=='0'),1,NA)) %>% 
  filter(hiv==1) %>% group_by(ID) %>% slice(1) %>% 
  select(ID,hiv) %>% left_join(md,.)

Joining, by = "ID"
  DXVER DX1 DX2 DX3 DX4   DX5  ID hiv
1     9 042   4   2   3 79571 345   1
2     9   1   3   2 101     3 123  NA
3     0   1   2   4   2   888 246   1
4     0   2   4   2   3     2 432  NA
5     9   1   3   2   2     2 121  NA

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何有条件地将多个列中的值拉到新列中?

来自分类Dev

如何有条件地增加新的列值

来自分类Dev

如何在R中有多个新列是有条件的情况下使用R中的多个列来表示一列的值?

来自分类Dev

如何有效地有条件地检查程序集中的多个值

来自分类Dev

基于一个变量的值有条件地组合多个数据集/表

来自分类Dev

使用dplyr有条件地更新多个变量

来自分类Dev

MySQL-有条件地插入多个值

来自分类Dev

MySQL-有条件地插入多个值

来自分类Dev

有条件地分配多个值

来自分类Dev

根据多个其他变量有条件地替换值

来自分类Dev

有条件地在R中选择多个列

来自分类Dev

根据pandas DataFrame中的列值有条件地替换多个列

来自分类Dev

如何使用jq有条件地更改所有记录上的多个值

来自分类Dev

如何在For循环中有条件地更新多个类别的值

来自分类Dev

R - 使用变量中的值有条件地从其他变量中选择多个值

来自分类Dev

SQL:基于主表中的行值将多个表有条件地关联到单个表的最佳方法

来自分类Dev

基于 R 中列中的两个变量有条件地过滤组中的值

来自分类Dev

通过在 R 中有条件地组合现有列来创建新列

来自分类Dev

有条件地替换值而不会影响原始列的条件语句是基于

来自分类Dev

基于空值变量从Send-MailMessage中有条件地省略CC参数

来自分类Dev

基于空值变量从Send-MailMessage中有条件地省略CC参数

来自分类Dev

如何使用序列中的值作为新变量名有条件地重命名数据帧的多列?

来自分类Dev

如何基于R中的列中的值有条件地执行许多Mann-Whitney测试?

来自分类Dev

有条件地,基于其他两个列的值对列求和

来自分类Dev

如何基于bash中的变量有条件地将输出重定向到文件

来自分类Dev

有条件地吞并多个任务

来自分类Dev

有条件地合并多个词典

来自分类Dev

让木偶有条件地执行多个命令

来自分类Dev

从多个单元中有条件地减去

Related 相关文章

  1. 1

    如何有条件地将多个列中的值拉到新列中?

  2. 2

    如何有条件地增加新的列值

  3. 3

    如何在R中有多个新列是有条件的情况下使用R中的多个列来表示一列的值?

  4. 4

    如何有效地有条件地检查程序集中的多个值

  5. 5

    基于一个变量的值有条件地组合多个数据集/表

  6. 6

    使用dplyr有条件地更新多个变量

  7. 7

    MySQL-有条件地插入多个值

  8. 8

    MySQL-有条件地插入多个值

  9. 9

    有条件地分配多个值

  10. 10

    根据多个其他变量有条件地替换值

  11. 11

    有条件地在R中选择多个列

  12. 12

    根据pandas DataFrame中的列值有条件地替换多个列

  13. 13

    如何使用jq有条件地更改所有记录上的多个值

  14. 14

    如何在For循环中有条件地更新多个类别的值

  15. 15

    R - 使用变量中的值有条件地从其他变量中选择多个值

  16. 16

    SQL:基于主表中的行值将多个表有条件地关联到单个表的最佳方法

  17. 17

    基于 R 中列中的两个变量有条件地过滤组中的值

  18. 18

    通过在 R 中有条件地组合现有列来创建新列

  19. 19

    有条件地替换值而不会影响原始列的条件语句是基于

  20. 20

    基于空值变量从Send-MailMessage中有条件地省略CC参数

  21. 21

    基于空值变量从Send-MailMessage中有条件地省略CC参数

  22. 22

    如何使用序列中的值作为新变量名有条件地重命名数据帧的多列?

  23. 23

    如何基于R中的列中的值有条件地执行许多Mann-Whitney测试?

  24. 24

    有条件地,基于其他两个列的值对列求和

  25. 25

    如何基于bash中的变量有条件地将输出重定向到文件

  26. 26

    有条件地吞并多个任务

  27. 27

    有条件地合并多个词典

  28. 28

    让木偶有条件地执行多个命令

  29. 29

    从多个单元中有条件地减去

热门标签

归档