mydata <- data.frame(id=1:5, location=c("BC","BC","AB","MB","BC"), value=c(10,20,30,40,50)) mydata$location <- as.factor(mydata$location) successData <- c("Y","N","N","N","Y") mydata$success <- successData subset(mydata, location=='BC' & value >= 20)