Por que quadros de dados idênticos se tornam diferentes ao alterar nomes de nomes para os mesmos

Eu me deparei com um comportamento estranho ao brincar com alguns quadros de dados: quando crio dois quadros de dados idênticosa,b, depois trocam seus nomes de domínio, eles não são idênticos:

rm(list=ls())

a <- data.frame(a=c(1,2,3),b=c(2,3,4))
b <- a
identical(a,b)
#TRUE

identical(rownames(a),rownames(b))
#TRUE

rownames(b) <- rownames(a)

identical(a,b)
#FALSE

Alguém pode reproduzir / explicar o porquê?

questionAnswers(1)

yourAnswerToTheQuestion