¿Por qué al subconjunto no le importa perder el argumento del subconjunto para los marcos de datos?

Normalmente me pregunto de dónde vienen los errores misteriosos, pero ahora mi pregunta es de dónde viene una misteriosa falta de error.

Dejar

numbers <- c(1, 2, 3)
frame <- as.data.frame(numbers)

Si escribo

subset(numbers, )

(así que quiero tomar un subconjunto pero olvido especificar el argumento del subconjunto de la función del subconjunto) y luego R me recuerda (como debería):

Error en subset.default (números,):
falta el argumento "subconjunto", sin valor predeterminado

Sin embargo cuando escribo

subset(frame,)

(así que lo mismo con undata.frame en lugar de un vector), no da un error, sino que solo devuelve el marco de datos (completo).

¿Que esta pasando aqui? ¿Por qué no recibo mi merecido mensaje de error?

Respuestas a la pregunta(1)

Su respuesta a la pregunta