Como posso selecionar linhas de um dataframe que não corresponde?

Estou tentando identificar os valores em um quadro de dados que não correspondem, mas não consigo descobrir como fazer iss

# make data frame 
a <- data.frame( x =  c(1,2,3,4)) 
b <- data.frame( y =  c(1,2,3,4,5,6))

# select only values from b that are not in 'a'
# attempt 1: 
results1 <- b$y[ !a$x ]

# attempt 2:  
results2 <- b[b$y != a$x,]

E sea = c(1,2,3) isso funciona, comoa é um múltiplo deb. No entanto, estou tentando apenas selecionar todos os valores do quadro de dadosy, que não estão emx e não entendo qual função usar.

questionAnswers(3)

yourAnswerToTheQuestion