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