Prepara gli esami con i nostri Tutor Online prova gratis

Stat - Introduzione a R, Appunti di Statistica Applicata. Università di Cassino

Statistica Applicata

Descrizione: Le basi per l'ultilizzo degli Script in R
Mostro le pagine  1  -  4  di  23
scriptIntroduzioneR.R
#-------------------------------------------------------------------------------
----------
#per chiamare una funzione anche senza argomenti è sempre necessario inserire le
parentesi
help.start
help.start()
#------------------------------------------
#ricerca nell'help
#------------------------------------------
#per parola chiave (due possibili modalità)
help.search("regression")
??regression
#per nome della funzione
help(mean)
?mean
#per l'help di alcune funzioni (quelle di programmazione e gli operatori)
#è necessario usare gli apici (singoli o doppi)
?for
?"for"
#digitando il nome di una funzione è possibile visualizzare il codice associato
mean
#alcune funzioni sono di tipo generico (che lavorano in modo differente a
seconda
#del tipo di argomento passato in input)
#per vedere quali funzioni sono disponibili per i vari oggetti si può utilizzare
#la funzione methods
methods(mean)
#la funzione mean.default è quella che viene chiamata nel caso in cui non sia
#disponibile una funzione specifica per il tipo di argomento passato in input
mean.default
#gli esempi della funzioni possono essere provati usando la funzione example
example(mean)
example(plot)
example(plotmath)
#per alcune funzioni è disponibile un insieme di esempi più esteso accessibile
#attraverso il comando demo()
demo(graphics)
#per visualizzare la lista di funzioni con demo associate
#(dipende anche da quali librerie sono installate)
demo()
#per visualizzare le demo in tutte le librerie installate
demo(package = .packages(all.available = TRUE))
#assegnazione esplicita
primaVariabile <- 1 + 1
#e stampa a video
print(primaVariabile)
#scorciatoia per la stampa
primaVariabile
#attenzione: in alcuni casi (all'interno di funzioni e nei cicli di iterazione)
è necessario
#usare la funzione print esplicitamente per visualizzare il contenuto di un
oggetto (questo
#vale inparticolare per i grafici)
#assegnazione con stampa
(secondaVariabile <- 2 + 2)
#assegnazione implicita
3 + 3
#variabile utilizzata per l'assegnazione implicita
.Last.value
#il contenuto di un'espressione non assegnata può essere recuperato
terzaVariabile <- .Last.value
#il nome di una variabile che inizia per .
.quartaVariabile <- "prova"
#una variabile stringa che contiene un apice
quintaVariabile <- "un'altra prova"
#alternativa
quintaVariabile <- 'un\'altra prova'1agina p
scriptIntroduzioneR.R
quintaVariabile
#due valori particolari
TRUE
FALSE
#e relative scorciatoie
T
F
#che succede se cerco di accedere ad una variabile che non esiste
variabileNonEsistente
#quali sono le variabili disponibili?
ls()
#attenzione: dove è finita quella che inizia con il punto
ls(all.names=TRUE)
#il vettore dei semi casuali
.Random.seed
#per assicurare la riproducibilità dei risultati, nel caso si lavori con numeri
#pseudo-casuali, è necessario fissare il seme
set.seed(17)
#proviamo a fare un pò di pulizia
ls()
rm(primaVariabile)
ls()
#proviamo a fare piazza pulita
rm(list=ls())
ls()
#attenzione però alle variabili che iniziano con un punto
ls(all.names=TRUE)
#gli operatori sono una scorciatoia: ogni espressione può essere scritta usando
una
#sintassi funzionale
variabile1 <- 1
#usando un nome associato all'operatore
assign("variabile2", 2)
ls()
#o l'operatore tra apici (singoli o doppi)
"<-"("variabile3", 3)
ls()
#partiamo da capo
rm(list=ls())
#ecco uno scalare
scalare <- 1
#un vettore di due numeri
(vettoreLunghezza2 <- c(2, 3))
#un vettore di tre caratteri
vettoreCaratteri <- c("a", "b", "cc")
#un vettore di 10 numeri
vettoreLunghezza10 <- 1:10
#una matrice
matrice1 <- matrix(1:10, 5, 2); matrice1
#che avrei potuto creare anche a partire da una variabile
#presente sul workspace
matrix(vettoreLunghezza10, 5, 2)
#guardiamo i dettagli della funzione matrix
?matrix
#sintassi di chiamata per posizione
matrice1 <- matrix(1:10, 5, 2); matrice1
#sintassi di chiamata per nome
matrice1 <- matrix(nrow=5, ncol=2, data=1:10); matrice1
#sintassi di chiamata mista
matrice1 <- matrix(nrow=5, 1:10, 2); matrice1
#cambio il valore di un argomento che ha un default
matrice1 <- matrix(1:10, 5, 2, byrow=T); matrice1
#se il numero di elementi eccede le posizioni vengono presi solo quelli
necessari 2agina p
scriptIntroduzioneR.R
(matrice2 <- matrix(12:1, 1, nrow=6))
#posso specificare tutti i parametri
(matrice2 <- matrix(12:1, 1, nrow=6, ncol=2))
#ma posso fare calcolare a R i valori di alcuni argomenti a partire da quelli
passati
#in input
(matrice2 <- matrix(12:1, ncol=2))
#anche se il numero di elementi è minore delle posizioni da riempire R provvede
#automaticamente a "sistemare" le cose
(matrice2 <- matrix(100, 1, nrow=6))
#attenzione: anche se potrebbe sembrare, questa è una matrice e non un vettore
#il vettore con una dimensione
#per inizializzare vettori numerici da riempire successivamente
numeric(10)
#o fissando il tipo
integer(10)
double(10)
#per inizializzare un vettore di stringhe
character(10)
#un altro vettore (con 12 elementi)
vettoreLunghezza12 <- 12:1
#e uno con tre elementi
vettoreLunghezza3 <- 1:3
#un array tridimensionale
array3d <- array(1:24, dim=c(4,3,2))
array3d
#stampo degli oggetti disponibili con informazioni sul relativo contenuto
ls.str()
#lunghezza di un vettore
length(vettoreLunghezza10)
#di una matrice
length(matrice1)
#e di un array a più dimensioni
length(array3d)
#dimensione di un vettore
dim(vettoreLunghezza10)
#di una matrice
dim(matrice1)
#e di un array a più dimensioni
dim(array3d)
#è possibile assegnare una dimensione differente e cambiare l'oggetto
varAppoggio <- vettoreLunghezza10
dim(varAppoggio) <- c(2,5)
varAppoggio
varAppoggio <- matrice1
dim(varAppoggio) <- c(2,5)
#confrontate la posizione degli elementi: come sono disposti rispetto
all'oggetto di partenza?
matrice1
varAppoggio
#è anche possibile impostare a NULL la dimensione di un oggetto senza perdere il
contenuto
varAppoggio <- array3d
dim(varAppoggio) <- NULL
varAppoggio
#è possibile concatenare oggetti dello stesso tipo
c(vettoreLunghezza2, vettoreLunghezza10)
#o di tipo differente
c(vettoreLunghezza2, vettoreCaratteri)
#il tipo più forte ha però la meglio
mode(c(vettoreLunghezza2, vettoreCaratteri))
3agina p
scriptIntroduzioneR.R
#la regola del riciclaggio
#nel caso di due vettori
vettoreLunghezza10 + vettoreLunghezza10
vettoreLunghezza2 + vettoreLunghezza10
vettoreLunghezza3 + vettoreLunghezza10
#per capire meglio come funziona la regola del riciclaggio
cbind(vettoreLunghezza10, vettoreLunghezza10)
cbind(vettoreLunghezza10, vettoreLunghezza2)
cbind(vettoreLunghezza10, vettoreLunghezza3)
#in alcuni casi l'accostamento di oggetti di dimensione diversa porta a
modifiche
#sulla struttura risultante
cbind(scalare, array3d)
#il riciclaggio tra un vettore e una matrice
cbind(matrice1, scalare)
cbind(matrice1, vettoreLunghezza10)
cbind(matrice1, vettoreLunghezza2)
cbind(matrice1, vettoreLunghezza3)
#operazioni tra un vettore e una matrice
matrice1 + scalare
matrice1 + vettoreLunghezza2
matrice1 + vettoreLunghezza3
#operazioni tra un vettore e un array
array3d + scalare
array3d + vettoreLunghezza2
#il riciclaggio tra due matrici non funziona
cbind(matrice1, matrice2)
#si può però semplificare la struttura di output
c(matrice1, matrice2)
#lo stesso avviene anche se si lavora su un solo oggetto
c(matrice1)
#alcune funzioni per avere informazioni sui tipi di oggetti e sul loro contenuto
vettoreIntero <- integer(2)
c(mode(vettoreIntero), class(vettoreIntero), typeof(vettoreIntero))
vettoreDouble <- double(2)
c(mode(vettoreDouble), class(vettoreDouble), typeof(vettoreDouble))
vettoreCaratteri <- character(2)
c(mode(vettoreCaratteri), class(vettoreCaratteri), typeof(vettoreCaratteri))
matriceInteri <- matrix(integer(4),2,2)
c(mode(matriceInteri), class(matriceInteri), typeof(matriceInteri))
matriceDouble <- matrix(double(4),2,2)
c(mode(matriceDouble), class(matriceDouble), typeof(matriceDouble))
matriceCaratteri <- matrix(character(4),2,2)
c(mode(matriceCaratteri), class(matriceCaratteri), typeof(matriceCaratteri))
arrayDouble <- array(double(24), c(4,3,2))
c(mode(arrayDouble), class(arrayDouble), typeof(arrayDouble))
#alcuni funzioni di conversione tra tipi
as.character(vettoreLunghezza2)
as.integer(as.character(vettoreLunghezza2))
as.integer(2.3)
as.double(as.integer(2.3))
#alcune funzioni per controllare il tipo
is.integer(vettoreIntero)
is.integer(vettoreDouble)
is.integer(vettoreCaratteri) 4agina p
La preview di questo documento finisce qui| Per favore o per leggere il documento completo o scaricarlo.
Informazioni sul documento
Caricato da: sector
Visite: 1198
Downloads : 0
Indirizzo:
Universita: Università di Cassino
Data di caricamento: 13/04/2011
Incorpora questo documento nel tuo sito web:
Docsity non è ottimizzato per il browser che stai usando. Per una miglior fruizione usa Internet Explorer 9+, Chrome, Firefox o Safari! Scarica Google Chrome