L`ambiente R (accenni)
Transcript
L`ambiente R (accenni)
R is a free software environment for statistical computing and graphics. It compiles and runs on a wide variety of UNIX platforms, Windows and MacOS. È anche un ambiente open source. L’ambiente R (accenni) The R Project for Statistical Computing: http://www.R-project.org/ CRAN (Comprehensive R Archive Network) is a network of ftp and web servers around the world that store identical, up-to-date, versions of code and documentation for R. Please use the CRAN mirror nearest to you to minimize network load. Il CRAN è in continuo aggiornamento da parte degli utenti che mettono a disposizione le loro librerie (che riguardano i domini più svariati, dalla sequenziazione del genoma alle previsioni di borsa) 1 Il linguaggio R è object oriented e prevede un utilizzo via terminale (command line) • • Sintassi delle funzioni: nome_funzione(arg1, ..,argn). Gli argomenti hanno un nome, quindi possono essere omessi (in questo caso vengono applicati i valori di default) oppure passati in un ordine non predefinito Esempio: • plot(lista_valori)! • plot(lista_valori,! !main=“titolo”,ylab=“ordinate”,xlab=“ascisse”)! • plot(lista_valori, xlab=“ascisse”,col=“red”)! Avviare l’ambiente : comando r Uscire: q() Ci verrà chiesto se salvare una imagine del workspace. Se rispondiamo sì, la prossima volta R lo caricherà automaticamente e potremo proseguire dal punto in cui ci siamo interrotti. ! Muoversi nel file system: o setwd() per spostarsi in una directory diversa da quellla dalla quale è stato avviato r. o getwd() per verificare la directory corrente o dir() per lista elemeti delle directory ! ! Aiuto e manuali in linea: o help(nome_comando) Si raccomanda di consultare sempre la documentazione in linea di R per la descrizione completa di una data funzione, con ?nome_funzione ?plot! 2 3 o example(nome_comando) o ?nome_comando 4 Fundamentals Il workspace o lista degli oggetti presenti nel workspace: ls()! o eliminare gli oggetti dal workspace: rm(oggetto1,..,oggetton) o salvare immagine del workspace: save.image(file = "nome_file.rda") o salvare alcuni oggetti del workspace: !save(ogg1,..,oggn, file=“nome_file.rda”)! o caricare gli oggetti precedentemente salvati con save: !load (“nomefile.rda”) o vedere la classe di un oggetto: class(nome_oggetto) o ottenere visone d’insieme della struttura di un oggetto: str(nome_oggetto) • • • • Costanti e variabili Operatori su numeri +, - ,*, /, ^ Assegnamento è il simbolo <- oppure = Commento: tutto ciò che segue il simbolo # fino alla fine della riga • Tipi di dati: character! numeric! Integer! logical (valori: TRUE,FALSE)! complex! list (lista: vettore di oggetti ti tipo anche diverso tra loro) 5 6 Vettori Creare vettore di elementi el1,…,eln: c(el1,…,eln) > c(1,2,3) #il simbolo “c” sta per “concatenation” [1] 1 2 3 Creare vettore i cui elementi sono i valori da i a j: c(estremo_inf:estermo_sup) > c(2:8) [1] 2 3 4 5 6 7 8 Creare vettore combinando i due meccanismi: > c(2:10,3) [1] 2 3 4 5 6 7 8 9 10 3 Creare vettore come sequenza di elementi da i a j: seq(estremo_inf, estermo_sup, passo) > x<- seq(-5,8) #oppure x<--5:8 [1] -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 > x<- seq(-5,8,2) [1] -5 -3 -1 1 3 5 7 Accedere all’elemento i-esimo > x[2] [1] -3 Selezionare gli indici degli elementi che soddisfano un criterio: la funzione which(criterio) >which(abs(x)==3) #ritorna gli indici di x corrispondenti agli elementi che soddisfano il criterio [1] 2 5 Selezionare gli elementi che soddisfano un criterio >x[which(abs(x)==3)] 7 [1] -3 3 Matrici Ricordare: i vettori in R sono sempre gestiti come colonne, quindi, by default, anche le matrici vengono riempite per colonne. Questo è sensato: un vettore di dati in questo contesto è visto come colonna relativa a un certo carattere della popolazione. Creare una matrice di elementi: matrix(elementi,numero_righe, numero_colonne) > matrix(1:24,4,6) [,1] [,2] [,3] [,4] [,5] [,6] [1,] 1 5 9 13 17 21 [2,] 2 6 10 14 18 22 [3,] 3 7 11 15 19 23 [4,] 4 8 12 16 20 24 Volendo riempire la matrice per righe bisogna specificare il parametro byrow=TRUE >matrix(1:24,4,6,byrow=TRUE) [,1] [,2] [,3] [,4] [,5] [,6] [1,] 1 2 3 4 5 6 [2,] 7 8 9 10 11 12 [3,] 13 14 15 16 17 18 [4,] 19 20 21 22 23 24 Creare una matrice senza precisarne gli elementi: si lascia il primo parametro vuoto, interpretato da R come missing value: > matrix(,2,3) [,1] [,2] [,3] [1,] NA NA NA [2,] NA NA NA 8 Accedere agli elementi della matrice Stringhe # definiamo la matrice y<-matrix(c("a","b","c"),2,3,byrow=TRUE) [,1] [,2] [,3] [1,] "a" "b" "c" [2,] "a" "b" "c” > y[1,2] [1] “b” # elemento >y[2,] [1] "a" "b" "c” # riga > y[,2] [1] "b" "b" # colonna Creazione (paste) di una stringa di elementi separati da un separatore (sep): > paste("a","b",sep="&") [1] "a&b” > paste("a","b") [1] "a b” > paste("a","b",sep="") [1] "ab" Trasposta di una matrice: t(matrice) > t(y) [1,] "a" "a" [2,] "b" "b" [3,] "c" "c" 9 10 La matrice dei dati Operare sul dataset La matrice dei dati è un oggetto di tipo list costituito da vettori di natura qualsiasi (anche diversa tra loro, per esempio numeri, stringhe, etc), ma della stessa lunghezza. o Per accedere agli attributi (colonne) di un dataset: tabella$attributo! ! !o Per definire tabella come dataframe corrente e quindi ! poter usare direttamente il nome degli attributi senza il ! prefisso tabella$: attach(tabella)! ! Come leggere un file di dati in formato tresto in una variabile (che sarà di classe data.frame): dati<read.delim ("nome_file",! ! !sep="simbolo_separatore_colonne",! ! !header=TRUE/FALSE,! ! !!dec="simbolo_separatore_decimali”, ! !… )! ! !o ! 11 ! ! ! Per interrompere l’accesso diretto agli attributi di tabella attuato in precedenza con un comando attach: detach(tabella)! ! 12 Per conoscere: o Informazioni sugli elementi della tabella: str(tabella) o la dimensione della tabella dei dati: dim(tabella)! o il numero di righe: nrow(tabella)! o il numero di colonne: ncol(tabella)! o i nomi delle variabili: names(tabella)! o il numero di livelli per attributi nominali: nlevels(attributo)! o i livelli per variabili nominali: levels(attributo)! 13