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.

menu