try è una utilissima funzione, da utilizzare specialmente nei loop (apply, by, quelli del package plyr,…) per evitare che si blocchino a causa di un calcolo che non avviene nel modo corretto. Supponiamo ad esempio che dobbiate fare una regressione non lineare, in questo caso può accadere che, se gli starting point non sono adeguati, il comando non vada a buon fine e che si interrompa il loop….con tutti i problemi del caso.
ecco che utilizzando la funzione try() è possibile gestire l’errore e dare alla funzione una via di uscita, da percorrere in caso di problemi, senza che si interrompa il ciclo.
in generale il codice da usare è il seguente:

RISULTATO <- try(FUNZIONE_CHE_PUO_FALLIRE, silent=T)
if (class(RISULTATO)=="try-error"){
COND1
} else {
COND2
}

Created by Pretty R at inside-R.org

potete trovare un esempio ed ulteriori informazioni qui BIOCODENV BLOG e qui WORKING WITH DATA

About these ads