Los corchetes hacen que un vector sea diferente. ¿Cómo se evalúa exactamente la expresión vectorial?

Tengo un marco de datos de la siguiente manera:

planets               type diameter rotation rings
Mercury Terrestrial planet    0.382    58.64 FALSE 
Venus   Terrestrial planet    0.949  -243.02 FALSE 
Earth   Terrestrial planet    1.000     1.00 FALSE 
Mars    Terrestrial planet    0.532     1.03 FALSE
Jupiter          Gas giant   11.209     0.41 TRUE
Saturn          Gas giant     9.449     0.43 TRUE
Uranus          Gas giant     4.007    -0.72 TRUE
Neptune          Gas giant    3.883     0.67  TRUE

Quería seleccionar las últimas 3 filas:

planets_df[nrow(planets_df)-3:nrow(planets_df),]

Sin embargo, tengo algo que no esperaba:

planets          type                  diameter rotation rings
Jupiter          Gas giant            11.209     0.41  TRUE
Mars             Terrestrial planet    0.532     1.03 FALSE
Earth            Terrestrial planet    1.000     1.00 FALSE
Venus            Terrestrial planet    0.949  -243.02 FALSE
Mercury          Terrestrial planet    0.382    58.64 FALSE

Con el método de prueba y error, he aprendido que

> (nrow(planets_df)-3):nrow(planets_df)
[1] 5 6 7 8

y

> nrow(planets_df)-3:nrow(planets_df)
[1] 5 4 3 2 1 0

¿Cómo se evalúa exactamente R: declaración (con referencia a paréntesis)?

Respuestas a la pregunta(3)

Su respuesta a la pregunta