Faktornivåer
När du får ett nytt dataset märker du ofta att det innehåller faktorer med specifika faktornivåer. Ibland vill du dock byta namn på dessa nivåer för att göra dem tydligare eller av andra skäl. I R kan du göra det med funktionen levels():
levels(factor_vector) <- c("name1", "name2",...)
Ett bra exempel är rådata från en enkät. En vanlig fråga i enkäter är respondentens kön. Här har, för enkelhetens skull, bara två kategorier registrerats: "M" och "F". (I praktiken behöver du ofta fler kategorier för enkätdata – oavsett vilket använder du en faktor för att lagra kategoriska data.)
survey_vector <- c("M", "F", "F", "M", "M")
Att registrera kön med förkortningarna "M" och "F" kan vara praktiskt när du samlar in data med penna och papper, men det kan skapa förvirring vid analysen. Då vill du ofta byta faktornivåerna till "Male" och "Female" i stället för "M" och "F" för att göra det tydligare.
Observera: ordningen i vilken du tilldelar nivåerna är viktig. Om du skriver levels(factor_survey_vector) ser du att utdata är [1] "F" "M". Om du inte anger nivåerna när du skapar vektorn tilldelar R dem automatiskt i alfabetisk ordning. För att korrekt mappa "F" till "Female" och "M" till "Male" ska nivåerna anges som c("Female", "Male"), i den ordningen.
Den här övningen är en del av kursen
Introduktion till R
Övningsinstruktioner
- Titta på koden som skapar en faktorvektor från
survey_vector. Du ska användafactor_survey_vectori nästa steg. - Ändra faktornivåerna i
factor_survey_vectortillc("Female", "Male"). Tänk på ordningen på vektorelementen.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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