Hämta antal nivåer
Med mutate() och summarize() i dplyr kan du använda funktionen across() för att ange att det andra argumentet – en funktion – ska tillämpas på alla kolumner där det första argumentet är sant.
Vi använder dessa tillsammans med tidyr för att hämta antalet nivåer för varje faktorvariabel i multiple_choice_responses. pivot_longer() från tidyr omvandlar en datamängd från brett till långt format. Dess två argument är de nya kolumnnamnen—ett innehåller de gamla kolumnnamnen och ett innehåller alla värden.
Den här övningen är en del av kursen
Kategoriska data i Tidyverse
Övningsinstruktioner
- Konvertera alla teckenkolumner till faktorkolumner och spara den nya datamängden som
responses_as_factors. - Skapa en ny datamängd,
number_of_levels, där du:- Använder
summarizemedacrossför att tillämpa funktionennlevels()på varje kolumn. - Ändrar datamängdens format från brett till långt.
- Använder
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Change all the character columns to factors
responses_as_factors <- multiple_choice_responses %>%
mutate(___(is.character, as.factor))
number_of_levels <- responses_as_factors %>%
# Apply the function nlevels to each column
summarize(___(everything(), ___)) %>%
# Change the dataset from wide to long
___(everything(), names_to = "variable", values_to = "num_levels")