Por que a terminologia de rótulos e níveis de fatores é tão estranh

Um exemplo de uma função não configurável serialabels. Você só pode definir rótulos de fator quando eles são criados com a função de fator. Não hálabels<- função. Não que 'rótulos' e 'níveis' em fatores façam sentido ...

>  fac <- factor(1:3, labels=c("one", "two", "three"))
> fac
[1] one   two   three
Levels: one two three
> labels(fac)
[1] "1" "2" "3"

OK, eu pedi rótulos, que alguém poderia assumir como definido pela chamada de fator, mas recebo algo bastante ... qual é a palavra, não é intuitiva?

> levels(fac)
[1] "one"   "two"   "three"

arece que a definição de etiquetas está realmente definindo nívei

>  fac <- factor(1:3, levels=c("one", "two", "three"))
> levels(fac)
[1] "one"   "two"   "three"

OK, conforme o esperado. Então, o que são rótulos quando se define níveis?

>  fac <- factor(1:3, levels=c("one", "two", "three"), labels=c("x","y", "z") )
> labels(fac)
[1] "1" "2" "3"
> levels(fac)
[1] "x" "y" "z"

Effing estranho, se você me perguntar. Parece que os argumentos dos 'rótulos' para o fator superam os argumentos dos 'níveis' para a especificação dos níveis. Por que deveria ser isso? Parece uma terminologia confusa. E por quelabels() return o que eu teria imaginado ser recuperado com as.character (as.numeric (fac))?

(Este foi um comentário tangencial [rotulado como tal] em uma resposta anterior sobre funções de atribuição para as quais me pediram que mudasse para uma pergunta. Então, aqui está sua oportunidade de me esclarecer.)

questionAnswers(2)

yourAnswerToTheQuestion