library(dplyr) set.seed(1234) mydata<-data.frame(class = sample(3,10, replace=T), id = sample(30,10, replace=T), mid = as.integer(rnorm(10, mean=60, sd=10)), final = as.integer(rnorm(10, mean=70, sd=8))) mydata filter(mydata, class==1) filter(mydata, class==3, id==30) filter(mydata, class==1 | class ==2) filter(mydata, class %in% c(1,2)) filter(mydata, class %in% c(1,2), final==70) filter(mydata, ((class==1) | (class==2)) & final==70) mutate(mydata, total=mid+final, mean=total/2) mydata<-mutate(mydata, total=mid+final, mean=total/2) transmute(mydata, total=mid+final, mean=total/2) mydata_trans<-transmute(mydata, total=mid+final, mean=total/2)