使用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)