Archivio degli articoli con tag: programming

State creando un loop, ma l’output di ogni ciclo è un po’ “complesso”. Insoma, non lo potete mettere in una matrice, o in un vettore…e allora cosa c’è di meglio che creare una lista ed inserirlo li?

lista.mod <- vector('list', length(lista))

for (i in 1:n){
    
    lista.mod[[i]] <- ARG

    }

L’ingenuo utilizzatore di R, magari un chimico (come me) o un biologo…o qualcos’altro, potrebbe essere portato a pensare che R sia scritto in R…ed invece no, o meglio, si, ma non del tutto. Come si vede in questi due simpatici post nel blog di librestats, sia il core di R, sia i contributed packages sono scritti in gran parte in C/C++ !!!

Forse vi sarete chiesti di quanti “vocaboli” (ovvero funzioni) disponga R…be, sono diverse migliaia, per l’esattezza 2382.
Ma quante sono poi quelle effettivamente utili? quelle che andrebbero sapute per forza? Hadley Wickham dice 350. L’elenco lo trovate qui.

Quando si scrive una funzione è opportuno mettere dei controlli, all’inizio del codice, per verificare che l’input sia corretto e comunicare con chiarezza all’utilizzatore il tipo di problema che si può essere verificato. In questo post si spiega l’impiego di codice tipo:

if (missing(var1))
 stop("Manca var 1.")

 if (!is.numeric(num2))
 stop("Eilà! num2 deve essere un numero!")
if (r < 0)
 stop("Negative r specified.")