Ipotizziamo
dunque che, seguendo uno dei metodi precedenti, avete inserito un
dataset di nome giangi:
>
attach(giangi)
> names(giangi)
[1]
"nome"
"genere"
"eta"
"punteggio"
>
giangi
nome genere eta punteggio
1
alberto m
28 6.2
2
aldamaria f
46 2.3
3
alessandra
f
26 3.8
4
alessia f
23 6.8
5
andrea m
37 4.8
6
annalisa f
24 8.2
7
annarosa f
46 7.8
8
antonella f
54 7.1
9
ariella f
37 7.4
Se volete levare la colonna dei nomi fate così:
>
giangino <- giangi[,2:4]
>
names(giangino)
[1]
"genere"
"eta"
"punteggio"
Per analizzare solo la prima colonna:
>
giangino[1]
genere
1
m
2
f
3
f
4
f
5
m
6
f
7
f
8
f
9
f
Per conoscere quanti sono i maschi e quante le femmine del dataset:
>
table(giangino[1])
f
m
7
2
per conoscere le eta dei due maschi
>
eta[giangino[1]=="m"]
[1]
28 37
Per farsi un'idea della distribuzione dei dati:
> summary(giangino)
genere
eta
punteggio
f:7
Min. :23.00
Min. :2.300
m:2
1st Qu.:26.00 1st Qu.:4.800
Median :37.00 Median :6.800
Mean :35.67
Mean :6.044
3rd Qu.:46.00 3rd Qu.:7.400
Max. :54.00
Max. :8.200
Se vi siete accorti che il punteggio di
andrea sarebbe
dovuto essere 4.7 invece che 4.8 lo correggete così:
> which(nome=="andrea")
[1]
5
>
punteggio[5] <- 4.7
Per conoscere la deviazione standard delle età disaggregate
secondo il genere:
> tapply(eta,genere,sd)
f
m
12.488090
6.363961
infatti:
> sd(eta[genere=="f"])
[1]
12.48809
>
sd(eta[genere=="m"])
[1]
6.363961
Ma
posso usare R
come fosse una calcolatrice?
Ma certo che sì! Ci sono le quattro operazioni
+,
-,
*
e
/.
C'è l'elevamento a potenza
^.
E poi ci sono le consuete funzioni trigonometriche, logaritmiche ed
esponenziali. Ma la cosa bella è che si può anche
fare
algebra matriciale, con il
prodotto
righe per colonne
%*%
:
> A <- matrix(
c(3,1,4,2), nrow = 2)
> E <- diag(1,2)
>
A
[,1] [,2]
[1,]
3 4
[2,]
1 2
>
E
[,1] [,2]
[1,]
1 0
[2,]
0 1
>
A %*% E
[,1] [,2]
[1,]
3 4
[2,]
1 2
Per trovare gli autovalori e gli autovettori associati:
> eigen(A)
$values
[1]
4.5615528 0.4384472
$vectors
[,1] [,2]
[1,]
0.9315321 -0.8421229
[2,]
0.3636591 0.5392856
E possiamo anche risolvere i sistemi lineari di equazioni
Ax =
b:
>
b <- matrix ( c(12,8), nrow = 2)
> solve(A,b)
[,1]
[1,]
-4
[2,]
6
La
lista dei comandi di R
presenti in questa pagina