es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Comportamiento extraño de == con fórmulas

Estoy un poco confundido con lo siguiente. Tengo dos fórmulas y me gustaría verificar si son iguales. Aquí espero obtener FALSE como resultado.

fm1 <- formula(schades ~ termijn + zipcode + provincie + regionvormgemeente + energielabel + trede)
fm2 <- formula(schades ~ termijn + zipcode + provincie + regionvormgemeente + energielabel)
fm1 == fm2

[1] TRUE

identical(fm1, fm2)

[1] FALSE

¿Cuál es la razón por la que fm1 == fm2 devuelve TRUE?

Creado el 2021-12-17 por el paquete reprex (v2.0.1)

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    La razón por la que fm1 == fm2 devuelve TRUE es porque verifica si las dos fórmulas son sintácticamente iguales, lo que significa si tienen la misma estructura y todos sus componentes (variables, operadores y funciones) están en el mismo orden. Sin embargo, identical(fm1, fm2) devuelve FALSE porque verifica si las dos fórmulas son exactamente el mismo objeto, incluyendo todos sus atributos (como sus entornos). Dado que fm1 y fm2 difieren en una variable (trede), no son idénticas aunque sean sintácticamente iguales.

Comments are closed.