使用purrr基于多个现有变量创建一个新的指标变量

时间:2019-12-19 14:04:57

标签: r purrr

我正试图在tidyverse中学习purrr并简短介绍。我有一个看起来像这样的数据集:

DX1 DX2 DX3 DX4 DX5 DX6  ... DX26 
 2    2   2   2   4   7  ...  3
 4
 7    3   3   6   4
 3    4
 6

其中DX是各种ICD9 / 10代码,最多有26种可能的选项。如果不需要经过给定的诊断次数,则其余DX变量将保留为空白。

我需要遍历所有26个DX变量,并创建一个新变量,如果响应为4,则值为1,如果响应为4,则值为0。换句话说,它应类似于: / p>

DX1 DX2 DX3 DX4 DX5 DX6  ... DX26 NewVar
 2    2   2   2   4   7  ...  3     1
 4                                  1
 7    3   3   6   4                 1
 3    4                             1
 6                                  0

有没有一种简单的方法可以做到这一点?预先感谢您的任何建议!

1 个答案:

答案 0 :(得分:0)

您可以使用rowSums()尝试下面的代码(假设没有数字的地方用NA填充)

df$NewVar <- rowSums(df==4,na.rm = T)