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.)