Folosește vapply (2)
Până acum ai văzut că vapply() se comportă la fel ca sapply() atunci când totul merge conform planului. Dar ce se întâmplă când lucrurile nu merg bine?
În videoclip, Filip ți-a arătat că există situații în care structura rezultatului funcției aplicate, FUN, nu corespunde șablonului specificat în FUN.VALUE. În acest caz, vapply() va genera o eroare care te informează despre neconcordanța dintre rezultatul așteptat și cel real.
Acest exercițiu face parte din cursul
R intermediar
Instrucțiuni pentru exercițiu
- Inspectează codul preîncărcat și încearcă să îl rulezi. Dacă nu ai modificat nimic, ar trebui să apară o eroare. Aceasta se întâmplă deoarece
vapply()se așteaptă în continuare cabasics()să returneze un vector de lungime 3. Mesajul de eroare îți oferă un indiciu despre ce nu este în regulă. - Încearcă să corectezi eroarea editând comanda
vapply().
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# temp is already available in the workspace
# Definition of the basics() function
basics <- function(x) {
c(min = min(x), mean = mean(x), median = median(x), max = max(x))
}
# Fix the error:
vapply(temp, basics, numeric(3))