Como olhar para a estrutura de um fator em R

R tem uma estrutura de dados especial para dados categóricos, chamados factores. Factores estão intimamente relacionados com os caracteres porque qualquer vector de caracteres pode ser representada por um factor. Para olhar um pouco mais sob o capô da estrutura de um fator, utilize o str () função:

> Str (state.region) Fator w / 4 níveis "Nordeste", "Sul", ..: 2 4 4 2 4 4 1 2 2 2 ...

R relata a estrutura de state.region como um factor de quatro níveis. Você pode ver que os dois primeiros níveis são "Nordeste" e "Sul", mas estes níveis são representados como números inteiros 1, 2, 3 e 4.

Fatores são uma forma conveniente para descrever dados categóricos. Internamente um factor é armazenado como um valor numérico associado a cada nível. Isto significa que pode definir e investigar os níveis de um factor separadamente a partir dos valores do factor.

Para olhar para os níveis de um fator, você usa o (níveis) função. Por exemplo, para extrair os níveis de fator de state.region, use o seguinte:

> níveis (state.region) [1] "Nordeste" "Sul" [3] "North Central" "Ocidente"

Porque os valores do fator estão ligados aos níveis, ao alterar os níveis, você também alterar indiretamente os próprios valores. Para tornar isso claro, alterar os níveis de state.region para os valores "NE", "S", "NC", e "W":

> níveis (state.region) lt; - c ( "NE", "S", "NC", "W")> cabeça (state.region) [1] S W W S W WLevels: NE S W NC

Às vezes é útil para saber o número de níveis de um fator. A função de conveniência NLEVELS () extrai o número de níveis a partir de um factor:

> NLEVELS (state.region) [1] 4

Porque os níveis de um fator são armazenados internamente por R como um vetor, você também pode extrair o número de níveis usando comprimento:

> Duração (níveis (state.region)) [1] 4

Pela mesma razão, você pode indexar os níveis de um fator usando regras vector subsistentes padrão. Por exemplo, para extrair os segundo e terceiro níveis de fatores, use o seguinte:

> níveis (state.region) [2: 3] [1] "S" "NC"

menu