Here are two methods. In the first one, the logical condition is used inside of the square brackets that are used to subset a data frame. DF[2,3] give you whatever is in the second row and third column of the data frame and DF[DF$Value < 6, ] gives you all the rows where Value < 6 is TRUE, where Value is the name of a column.
The second method uses the filter function from the dplyr package.
DF <- data.frame(Major = c("A", "A", "B", "B"),
Minor = c("X", "Y", "X", "Y"),
Value = c(5,6,7,4))
DF
Major Minor Value
1 A X 5
2 A Y 6
3 B X 7
4 B Y 4
#method 1
NewDF <- DF[DF$Value < 6, ]
NewDF
Major Minor Value
1 A X 5
4 B Y 4
#method 2
library(dplyr)
NewDF2 <- filter(DF, Value < 6)
NewDF2
Major Minor Value
1 A X 5
2 B Y 4