我想知道如何使用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)
答案 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)))