Motivo para saída inesperada no subconjunto de quadros de dados - R

Eu tenho o quadro de dados "a" e ele tem uma variável chamada "VAL". Quero contar os elementos em que o valor de VAL é 23 ou 24.

Eu usei dois códigos que funcionaram bem:

nrow(subset(a,VAL==23|VAL==24) 
nrow(subset(a,VAL %in% c(23,24)))

Mas tentei outro código que fornece uma saída inesperada e não sei por quê.

nrow(subset(a,VAL ==c(23,24)))

Mesmo que eu mude a ordem de 23 e 24, isso gera uma saída inesperada diferente.

nrow(subset(a,VAL ==c(24,23)))

Por que esses códigos estão incorretos? O que eles estão realmente fazendo?

questionAnswers(1)

yourAnswerToTheQuestion