Níveis de fatores
Quando você obtém um conjunto de dados pela primeira vez, geralmente percebe que ele contém fatores com níveis de fatores específicos. No entanto, às vezes pode ser necessário alterar os nomes desses níveis por motivos de clareza ou outras razões. O R permite fazer isso com a função levels()
:
levels(factor_vector) <- c("name1", "name2",...)
Uma boa ilustração são os dados brutos disponibilizados por uma pesquisa. Uma pergunta comum em todo questionário é o sexo do entrevistado. Aqui, para simplificar, apenas duas categorias foram registradas: "M"
e "F"
. (Geralmente, são necessárias mais categorias para dados de pesquisa; de qualquer forma, é usado um fator para armazenar os dados categóricos).
survey_vector <- c("M", "F", "F", "M", "M")
Pode ser conveniente registrar o sexo com as abreviações "M"
e "F"
se você estiver coletando dados com papel e caneta, mas, ao analisar os dados, isso pode causar confusão. Nesse ponto, muitas vezes convém alterar os níveis de fatores para "Male"
e "Female"
em vez de "M"
e "F"
, para ficar mais claro.
Atenção: a ordem em que os níveis são atribuídos é importante. Se você digitar levels(factor_survey_vector)
, verá que o resultado é [1] "F" "M"
. Se você não especificar os níveis de fatores ao criar o vetor, o R
vai atribui-los automaticamente em ordem alfabética. Para associar corretamente "F"
a "Female"
e "M"
a "Male"
, os níveis devem ser definidos como c("Female", "Male")
, nessa ordem.
Este exercício faz parte do curso
Introdução ao R
Instruções de exercício
- Confira o código que cria um vetor de fatores com base em
survey_vector
. Você deve usarfactor_survey_vector
na próxima instrução. - Altere os níveis de fatores de
factor_survey_vector
parac("Female", "Male")
. Observe a ordem dos elementos do vetor.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# Code to build factor_survey_vector
survey_vector <- c("M", "F", "F", "M", "M")
factor_survey_vector <- factor(survey_vector)
# Specify the levels of factor_survey_vector
levels(factor_survey_vector) <-
factor_survey_vector