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

使用purrr基于多个现有变量创建新的指标变量,r,purrr,R,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。换句

我正试着在整洁的房间里学习咕噜声,然后就来不及了。我有一个数据集,看起来像:

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。换句话说,它应该看起来像:

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

有没有一个简单的方法让purrr这样做?提前感谢您的建议

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


df$NewVar我不知道
purrr
是必要的;您可能只需使用
rowSums
purr
即可完成此操作。您可以使用
pmap
逐行处理df。类似于
df$NewVar的一些更相关的帖子,不使用
purr
而是使用
dplyr
将是
df%>%的变异(NewVar=ifelse(行和(.==4)>0,1,0))
df$NewVar <- rowSums(df==4,na.rm = T)