使用dplyr中的“包含”使用多列创建指标变量

时间:2019-08-04 00:17:24

标签: r dplyr

我想知道如何使用100多个列创建指标变量。

如果我们有DX1-DX100之类的多个列,如何创建该指标? 我们可以使用dplyr使用“包含”吗?

data<-data.frame(id=seq(1,10,1),DX1=c(4,0,4,0,0,5,6,0,0,0),DX2=c(1,0,0,7,0,0,0,7,0,0),DX3=c(1,0,1,0,1,7,1,0,0,0)) 
data$indicator<-ifelse(data$DX1>=3|data$DX2>=3|data$DX3>=3,1,0) 

2 个答案:

答案 0 :(得分:1)

这是您需要的吗?

data$indicator <- if_else(rowSums(select(data, starts_with("DX"))) > 0, 1, 0)

答案 1 :(得分:0)

一个选项是

data$indicator <- as.integer(Reduce(`|`, data[-1]))

更新

基于评论

as.integer(Reduce(`|`, lapply(data[-1], `>=`, 5)))