Kom igångKom igång gratis

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

Visa kurs

Ö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 summarize med across för att tillämpa funktionen nlevels() på varje kolumn.
    • Ändrar datamängdens format från brett till långt.

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")
Redigera och kör kod