Vilken typ är det?
Du har precis sett fyra funktioner som hjälper dig att avgöra vilken typ en variabel har. class() (docs) och typeof() (docs) är viktiga och kommer att vara användbara ofta. mode() (docs) och storage.mode() (docs) finns framför allt för kompatibilitet med programmeringsspråket S.
I den här övningen undersöker du vad dessa funktioner returnerar för olika variabeltyper. Några av typerna nedan är ovanligare och kanske inte bekanta sedan tidigare.
array(docs): En generalisering av en matris med godtyckligt antal dimensioner.formula(docs): Används av modellerings- och plotfunktioner för att definiera samband mellan variabler.
Observera också att det finns tre typer av funktioner i R.
Den här övningen är en del av kursen
Objektorienterad programmering med S3 och R6 i R
Övningsinstruktioner
Funktionen type_info() är fördefinierad i din workspace och returnerar class(), mode(), typeof() och storage.mode() för sitt argument. (Skriv type_info i konsolen för att se hur den fungerar.)
- Skapa
some_vars, listan med exempelobjekt som finns i editorn. - Använd
lapplyför att iterera över elementen isome_varsoch anropatype_info()på varje exempelobjekt för att utforska deras typ.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Look at the definition of type_info()
type_info
# Create list of example variables
some_vars <- list(
an_integer_vector = rpois(24, lambda = 5),
a_numeric_vector = rbeta(24, shape1 = 1, shape2 = 1),
an_integer_array = array(rbinom(24, size = 8, prob = 0.5), dim = c(2, 3, 4)),
a_numeric_array = array(rweibull(24, shape = 1, scale = 1), dim = c(2, 3, 4)),
a_data_frame = data.frame(int = rgeom(24, prob = 0.5), num = runif(24)),
a_factor = factor(month.abb),
a_formula = y ~ x,
a_closure_function = mean,
a_builtin_function = length,
a_special_function = `if`
)
# Loop over some_vars calling type_info() on each element to explore them
___