Here is an example:
set.seed(123) data<-data.frame(X=rep(letters[1:3], each=4),Y=sample(1:12,12),Z=sample(1:100, 12)) data[data==3]<-NA
Using subset to for each letter may be this can help
data<-data.frame(X=rep(letters[1:3], each=4),Y=sample(1:12,12)) dataA <- subset(data, data$X=="a") min(dataA$Y, na.rm=TRUE)