Como trabalhar com Fatores e vetores numéricos em R cálculos e modelos
Se você trabalha com fatores em R que têm valores numéricos como níveis, você tem que ser extremamente cuidadoso ao usar esses fatores em modelos e outros cálculos. Por exemplo, você converter o número de cilindros no conjunto de dados built-in mtcars a um fator como este:
> cyl.factor lt; - as.factor (mtcars $ cil)
Se você quer saber o número médio de cilindros, você pode ser tentado a fazer o seguinte:
> Mediana (as.numeric (cyl.factor)) [1] 2
Este resultado é falso, porque o número mínimo de quatro cilindros é. R converte a representação interna do fator de números, não os rótulos. Assim, obtém números a partir de um até ao número de níveis em vez de os valores originais.
Para transformar corretamente um fator de seus valores numéricos originais, você pode primeiro transformar o fator a personagem e, em seguida, para numérico. Mas em dados muito grandes, isto é feito mais rapidamente com a seguinte construção:
> As.numeric (níveis (cyl.factor)) [cyl.factor]
Com este código, você cria um curto vetor com os níveis como valores numéricos e, em seguida, utilizar a representação inteira interna do fator para selecionar o valor correto.
Embora R muitas vezes converte um vetor numérico para um fator automaticamente quando necessário, ele não faz isso, se ambos os vetores numéricos e fatores pode ser usado. Se você deseja modelar, por exemplo, a quilometragem de um carro para o número de cilindros, você tem um modelo diferente quando você usa o número de cilindros como um vetor numérico ou como um fator.
A interpretação de ambos os modelos é completamente diferente, e muito depende do que exatamente você quer fazer. Mas você tem que estar ciente de que, ou você pode estar interpretando o modelo errado.