Il 0% ha trovato utile questo documento (0 voti)
16 visualizzazioni5 pagine

Comandi Di R

Caricato da

andrea.calvitto
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato DOCX, PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
16 visualizzazioni5 pagine

Comandi Di R

Caricato da

andrea.calvitto
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato DOCX, PDF, TXT o leggi online su Scribd

COMANDI DI R

o Inserire i commenti #Buongiorno


o Assegnare un valore o un insieme di valori ad un oggetto x<-2
corso <- “Analisi dei dati”
o Vedere cosa fa e come agisce una funzione ?[Link]
o Separare due comandi ;
o Visualizzare/verificare la tipologia di un oggetto creato str(nomeoggetto)
o Visualizzare tutti gli oggetti creati ls()
o Rimozione di un oggetto rm(oggetto)
o Rimozione di tutti gli oggetti creati rm(list=ls())
o Ripetizione di oggetti rep(x,times)
pippo<-2
volte<-10
rep(x=pippo,times=volte)rep(pippo,volte)2 2 2 2 2 2 2 2 2 2
gruppo<-rep(c(“Sp”,”Co1”,”Co2”),c(4,3,2)Sp Sp Sp Sp Co1 Co1 Co1 Co2 Co2
o Concatenare tra loro più elementi c()
y<-c(25,-22,32,0,12)
o Costruire variabili categoriali  <-factor(c()
genere<-factor(c(“F”,”M”,”F”)) reddito<-factor(c(2,2,1,3,3))
o Costruire successioni numeriche seq(limiteinf, limitesup, passo)
seq(0,20,2)0 2 4 6 8 10 12 14 16 18 20
o Selezionare le prime 4 unità statistiche head(accordo,n=4)
o Selezionare le ultime 2 unità statistiche tail(accordo,n=2)
o Stabilire la numerosità campionaria n<-length(accordo)
o Somma somma<-a+b
o Prodotto a*b
o Radice quadrata sqrt(numero) R riempie la matrice per colonne, se si vuole
o Matrice matrix(c(), nrow, ncol) 1 5 0 forzare il riempimento per riga si deve specificare
matrix(c(1,-4,5,6,0,2),2,3) -4 6 2 byrow=Tmatrix(c(1,-4,5,6,0,2),2,3,byrow=T)
o Calcolare l’ordine di una matrice dim(X)
o Trovare un valore nella matrice X[1,3]
o Vettorematrix(c(4,5,2),3,1) ; matrix(c(10,0,-2),1,3)
o Cambiare un valore all’internoX[1,3]<-nuovonumero
o Rimuovere righe e colonneX1<-X[,-3] ; X2<-X1[-2,]
o Aggiungere vettore colonna vet<-matrix(c(50,100),2,1)X1<-cbind(X,vet)
o Trasposizione di matrici X1<-t(x)
o Creazione [Link] mydata<-[Link](id,ptest,genere,eta,reddito)
o Visualizzare il [Link] in stile “foglio di lavoro” View(mydata)
o Salvare il [Link] save(mydata,file=”[Link]”)
o Caricare il [Link] load(“[Link]”)
o Controllare l’esito dell’operazione ls()
o Importare un file in formato testo (.txt)[Link](“[Link]”, header=TRUE)
header=TRUE serve a specificare che la prima riga del file contiene i nomi delle variabili
o Importare un file in formato .csv [Link]()
o Per importare file via R Studio: File->Import Dataset->From CSV
o Definire come [Link] l’oggetto importato mydata<-[Link](d_autostima)
o Definire una variabile come tipo factor /definizione delle variabili categoriali
dati$id<-factor(dati$id)
Il simbolo $ serve ad associare una variabile al [Link] in cui è contenuta
dati$gender<-factor(dati$gender,levels=c(1,2),labels=c(“M”,”F”))
o Accedere alle singole variabili del [Link] con $ [Link]$[Link]
d1$genere per le statistiche descrittive summary(d1$ptest)
o Accedere alle variabili del [Link] attraverso il loro nome dsel<-d1[,c(“id”,”ptest”,”genere”)]
o Accedere alle variabili del [Link] attraverso il loro indice di colonna d1[,c(1,3)]
o Accedere alle prime tre variabili del [Link] attraverso il loro indice di colonna d1[,c(1:3)]
o Accedere alla prima riga del [Link] d1[1,]
o Accedere alle prime 3 righe (soggetti), seconda e terza colonna(variabile) d1[1:3,2:3]
o Eliminare primo e terzo soggetto e quinta variabile d1[-c(1,3),-5]
o Eliminare soggetti con valori non plausibili/sballati (per esempio età sopra i 200 anni) e creazione di
nuovo dataframe dati1<-dati[dati$age<26,]
o Nomi delle variabili names(d1)
o Numero di righe nrow(d1)
o Numero di colonne ncol(d1)
o Creazione di un [Link] contenente solo le femmine, uso delle virgolette per selezionare i livelli
delle variabili di tipo factor datif<-d1[d1$genere==”F”,]
o Creazione di un [Link] contenente solo i maschi con età superiore ai 40 anni
datim40<-d1[(d1$genere==”M”)&(d1$eta>40),]
o Operatori logici:
- Uguale d1$genere==”F”
- Diverso d1$reddito!=”M”
- Maggiore > ; Maggiore o uguale >= ; d1$eta>=32
- Minore < ; Minore o uguale <= ; d1$ptest<=100
o Operatori relazionali:
- Congiunzione (d1$genere==”M”) & (d1$eta>40)
- Disgiunzione (d1$eta<30) | (d1$eta>40)
o Prospetto riassuntivo di un [Link] summary(accordo)
o Ricodificare gli item
Ricodificare (“girare”) gli item 3,5,8,9,10 in modo che il valore 4 diventi 1, il 3 diventi 2, il 2 diventi 3 e
l’1 diventi 4: sottrarre al massimo della scala (4) il valore dell’item e aggiungere il minimo della scala
(1) prima creare un nuovo dataframe dove ricodificare gli item dati2<-dati1
dati2$item3 <- 4- dati2$item3 +1
dati2$item5 <- 4- dati2$item5 +1
dati2$item8 <- 4- dati2$item8 +1
dati2$item9 <- 4- dati2$item9 +1
dati2$item10 <-4 – dati2$item10 +1
o Tabelle di frequenza e tavole di contingenza
- Frequenze semplici assolute table(accordo)
- Frequenze semplici relativeround(table(accordo)/n),2)
- Frequenze cumulate assolute cumsum(table(accordo))
- Frequenze relative globali o condizionate [Link](accordo)
- Frequenze cumulate relative cumsum(table(accordo))/n prima va specificata la
numerosità campionaria con n<-length(accordo)
o Indici di tendenza centrale
- Media mean()
- Mediana median()
o Indici di variabilità
- Range range()
- Quantili quantile()
- Modamode0f()
- Intervallo interquartile IQR()
- Varianza campionaria var()
- Deviazione standard sd()
- Minimo osservatomin()
- Massimo osservatomax()
- Gammamax()-min()

- Calcolare le statistiche descrittive con apply: apply(dati[ ], 1=riga oppure 2=colonna, funzione)
 Minimo apply(dati2[,4:13],2,min)
 Massimo apply(dati2[,4:13],2,max)
 Mediana apply(dati2[,4:13],2,median)
 Media round(apply(dati2[,4:13],2,mean),2)
 Deviazione standard round(apply(dati2[,4:13],2,sd),2)
- Usare apply per riga in modo da ottenere per ogni soggetto la media degli item
dati2$autostima<-apply(dati2[,4:13],1,mean)
Con apply si usa (dopo la quadra in cui si indicano le colonne o le righe) “1” per le
righe e “2” per le colonne.
- Statistiche descrittive su variabili categoriali con tapply: tapply(variabile dipendente, fattore/i di
stratificazione, funzione da applicare)
 Mediane (di autostima per sesso) tapply(dati2$autostima, dati2$gender, median)
 Medie (di autostima per sesso) tapply(dati2$autostima, dati2$gender, mean)
 Deviazioni standard (di autostima per genere) tapply(dati2$autostima, dati2$gender, sd)
- Indice di Shannon relativo per il reddito Passaggi:
 Frequenze relative: [Link]<-table(dan1$reddito)/nrow(dan1)
 Tenerne la parte numerica: [Link]<-[Link]([Link])
 Calcolare la somma dei prodotti tra pi e log(pi) e moltiplicate per -1: [Link]<-log([Link])
[Link]=-sum([Link]*[Link])
 Indice di Shannon relativo: [Link]<-[Link]/log(length([Link]))
- Oppure: rshannon(dan1$reddito)
o Distribuzione
- Istogramma hist(dansia$depressione)
- Istogramma con argomenti grafici hist(dansia$depressione, xlab=”Depressione”, ylab=”Frequenze
assolute”, main=”Istogramma (n=85)”, col=”blue”)
Aggiungiamo una “cornice”box()
Stima della funzione di densità dens<-density(dan1$ansia)
- Boxplot boxplot(dansia$ansia, xlab=”Ansia”, col=”red”)
- Boxplot condizionato boxplot(ansia˜reddito, data=dansia, xlab=”Reddito”, ylab=”Ansia”)
L’argomento “data” serve a dichiarare dove si trovano le variabili di interesse.
- Diagramma a barre/barplot barplot(table(dansia$reddito), xlab=”Reddito”, ylab=”Frequenze”)
- Violinplot vioplot(dan1$ansia, drawRect=FALSE, col=”blue”, names=)
title(ylab=”Punteggio”)
- Diagramma a dispersione/plot plot(dansia$depressione, dansia$ansia, xlab=”Depressione”,
ylab=”Ansia”, col=”orange”, pch=16) pch è il simbolo disegnato
- Diagrammi a dispersione multipli
pairs(dan1[c(“eta”,”depressione”,”ansia”)],labels=c(“Età”,”Depressione”,”Ansia”))
- Relazione tra due variabili categoriali plot(table(dan1$genere, dan1$reddito), main=””,
col=”red”)
title(ylab=”Reddito”,xlab=”Genere”)
- Relazione tra una variabile quantitativa e una variabile categoriale boxplot(depressione˜reddito,
data=dan1, col=”blue”, ylab=”depressione”, xlab=”reddito”)
- Distribuzione per gruppo (variabili: medie e errori) [Link](dabi$gruppo, dabi$A1,
ylab=”A1”, xlab=”Gruppo”, names=c(“controllo (n=50)”, “sperimentale (n=45)”))
- Distribuzione boxplot per gruppo boxplot(dabi$A2˜dabi$gruppo, col=”red”, ylab=”A1”,
xlab=”Gruppo”, names=c(“controllo (n=50)”, “sperimentale (n=45)”))
- Distribuzione violinplot per gruppo vioplot(dabi$A2[dabi$gruppo==”controllo”],
dabi$A2[dabi$gruppo==”sperimentale”], drawRect=FALSE, col=”red”, names=c(“controllo (n=50)”,
“sperimentale” (n=45)”))
title(ylab=”A2”,xlab=”Gruppo”)
- Dividere l’area grafica in tot righe e tot colonne par(mfrow=c(2,5))
- Scegliere un margine superiore sull’asse y pari a un numero, così che tutti i grafici abbiano la stessa
scala massimo<- .60
Grafici barplot(f1, ylim=c(0,Massimo), main=”item1”, col=”blue”)
barplot(f2, ylim=c(0,Massimo), main=”item2”, col=”blue”)
Ecc
o Distribuzioni di probabilità
- d* : calcola la massa di probabilità per distribuzioni discrete e la densità di probabilità per
distribuzioni continue
- p* : calcola la probabilità cumulata dato un quantile (valore compreso tra 0 e 1)
- q* : calcola il quartile data la probabilità cumulata
- r* : seleziona un campione casuale dalla distribuzione
* nome della distribuzione in R
- binom per la Binomiale
- pois per la Poisson
- unif per la Uniforme
- norm per la Normale
- t per la t di Student
- beta per la Beta
o Rappresentazione della distribuzione
curve(dnorm(x,mean=40, sd=10), from=40-10*4, to=40+10*4, ylab=”Densità”, xlab=”Competenze
matematiche”).
From e to servono a stabilire la densità della Normale entro certi valori, in questo caso tra la
media meno 4 ds e la media più 4 ds.
Punteggio X di un test sulle competenze matematiche di bambini, distribuito normalmente con
media µ=40 e deviazione standard σ=10:
- Probabilità che un bambino abbia un punteggio di competenze matematiche inferiore alla media
pnorm(40, mean=40, sd=10)
- Probabilità che un bambino abbia un punteggio inferiore a 15
pnorm(15, mean=40, sd=10)
- Probabilità che un bambino abbia un punteggio compreso tra la media meno una ds e la media più
una ds
pnorm(40+10, 40, 10)-pnorm(40-10, 40, 10)
- Probabilità che un bambino abbia un punteggio inferiore alla media meno 2 ds
pnorm(40-10*2, 40, 10)
- Probabilità che un bambino abbia un punteggio superiore alla media meno 3 ds
pnorm(40-10*3, 40, 10)
- Probabilità che un bambino abbia un punteggio superiore alla media più 2 ds e mezzo
1-pnorm(40+10*2.5, 40, 10)
- Quinto percentile della distribuzione dei punteggi
qnorm(.05, 40, 10)
- Rango percentile associato a un bambino che ha ottenuto un punteggio di 30
pnorm(30, 40, 10)*100
qnorm(15.86553/100, 40, 10)
o Calcolo dei punti Z
Pgrezzo<- c(40, 22, 18, 70, 35, 14)
dati$pZ<- (pgrezzo – media) / ds
o Calcolo dei ranghi percentili dati$rp<- round(pnorm(dati$pZ, mean=0, sd=1)*100, 2)
o Statistica test
- Media campionaria [Link]<- mean(dmemoria1$parole)
- Numerosità campionaria n<- nrow(dmemoria1) La maggior parte dei valori di Z sta
tra -2 e +2. Inferiore e superiore a
questi abbiamo solo il 5% della
probabilità
- Media della popolazione sotto HO (ipotesi nulla) mi<- 19.1
- Deviazione standard della popolazione sigma <- sqrt(25)
- Z osservato [Link]<- ([Link] – mi) / (sigma/sqrt(n))
- P-value [Link]<- pnorm(-abs([Link]), 0, 1)*2 abs() calcola il valore assoluto
Oppure
- Statistica test con funzione Ztest Ztest([Link]=mean(dmemoria1$parole), n=nrow(dmemoria1),
mi=19.1, sigma=sqrt(25))

Potrebbero piacerti anche