Motivo de la salida inesperada en el subconjunto de marco de datos - R

Tengo el marco de datos "a" y tiene una variable llamada "VAL". Quiero contar los elementos donde el valor de VAL es 23 o 24.

Usé dos códigos que funcionaban bien:

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

Pero, probé otro código que da un resultado inesperado y no sé por qué.

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

Incluso si cambio el orden de 23 y 24, da un resultado inesperado diferente.

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

¿Por qué son incorrectos esos códigos? ¿Qué están haciendo realmente?

Respuestas a la pregunta(1)

Su respuesta a la pregunta