univariants
Objectius
Usar les capacitats de
R
per explorar i descriure mostres univariants a partir
dels principals gr`afics i estad´ıstics implementats.
Tipus de variables
Les variables m´es senzilles que s’analitzen poden ser:
1. Qualitatives: les dades s´on etiquetes i nom´es es poden considerar com
iguals o distintes. Les dades tamb´e poden expressar graus d’una qualitat
(com el nivell de satisfacci´o) que tenen un ordre, de menor a major.
2. Quantitatives: les dades expressen quantitats sobre...
Discretes: ...un concepte comptable per unitats (0, 1, 2...)
Cont´ınues: ...un concepte mesurable sobre una escala comuna de
nombres reals (com les llarg`aries, temps, o altres unitats que es
podrien mesurar amb major o menor exactitud, usant m´es o menys
nombres decimals)
Per algunes tasques, com ara alguns gr`afics i la taula de freq¨u`encies, les
variables quantitatives discretes s’assemblen m´es a les variables qualitatives
que a les quantitatives discretes, ja que les repeticions s´on m´es habituals als
dos primers tipus.
Descripci´o de mostres univariants qualitatives
Una mostra de dades univariants qualitatives pot estar emmagatzemada a un
vector de tipuscharactero a una columna concreta d’un
data.frame. Anem
a treballar amb les dades creades pel codi:
set.seed(123456789)
d1vql <- sample(x=c( A , B , C , D , E , F ),
size=rpois(n=1, lambda=500),
replace=TRUE, prob=c(1,5,4,9,1,2))
Taula de freq¨u`encies:
table()
La funci´o
table()
crea una taula de freq¨u`encies: torna un vector amb les
freq¨u`encies absolutes (repeticions) de cada valor existent en el vector de dades
que es passa com a argument.
En realitat, torna un vector les coordenades del qual estan etiquetades amb
els valors corresponents. A l’exemple:
table(d1vql)
torna per pantalla:
d1vql
A
B
C
D
E
F
El vector tornat ´es el vector (16,113,95,209,18,60) mentre que les lletres
que apareixen al damunt s´on etiquetes que ajuden l’usuari a saber cada fre-
q¨u`encia a quina dada pertany.
La funci´otable()ordena el vector de freq¨u`encies per l’ordre de les catego-
ries de les dades (alfab`etic). Normalment interessa escriure les freq¨uencies de
major a menor, mostrant primer les dades m´es rellevants. Per obtenir aquesta
modificaci´o cal usar les funcionssort()
irev()
mostrades a la Secci´o 1.6. Per
exemple:
rev(sort(table(d1vql)))
torna per pantalla:
d1vql
D
B
C
F
E
A
209 113
95
60
18
16
Ara el vector tornat t´e les freq¨u`encies ordenades, i les seues etiquetes. Si
es vol obtenir una taula de freq¨u`encies amb els percentatges, en lloc de les
freq¨u`encies absolutes, s’ha de fabricar a m`a. A mode d’exemple:
rev(sort(table(d1vql)/length(d1vql)*100))
torna per pantalla:
d1vql
D
B
C
F
E
A
40.900196 22.113503 18.590998 11.741683
3.522505
3.131115
Gr`afics
Diagrama de barres
barplot()
La funci´o
barplot()
fa el diagrama de barres corresponent a la taula de fre-
q¨u`encies que es passe com a argument. Una sintaxi m´es completa ´es:
barplot(height, col = NULL, main = NULL, sub = NULL,
xlab = NULL, ylab = NULL, xlim = NULL, ylim = NULL )
on:
height: ´es el vector de freq¨u`encies. Normalment ´es
heigth=table(...).
col: vector de colors (optatiu).
main, sub: t´ıtol principal i secundari del gr`afic.
xlab, ylab: etiquetes per als eixos horitzontal i vertical.
xlim, ylim: l´ımits inferior i superior dels eixos horitzontal i vertical.
Normalment es calculen autom`aticament, per`o l’usuari pot manipular-
los.
Els valors
NULL
que figuren s´on valors per defecte. No cal escriure’ls si no
els volem canviar. Prova amb:
barplot(height=table(d1vql))
# orden. per categ.
barplot(height=rev(sort(table(d1vql))))# orden. per freq.
Diagrama de sectors (past´ıs)
pie()
La funci´o
pie()
fa un diagrama de barres a partir d’un vector amb les fre-
q¨u`encies absolutes:
pie(x, labels = names(x), col = NULL, main = NULL, ...)
on:
x: ´es el vector de freq¨u`encies. Normalment ´es
x=table(...).
labels: etiquetes de les categories. Es prenen autom`aticament de la
taula, per`o l’usuari pot canviar-les.
col: vector de colors (optatiu).
main: t´ıtol principal del gr`afic.
Com sempre, hi ha m´es opcions per a usuaris avan¸cats. Prova amb:
pie( x=table(d1vql) )
pie( x=rev(sort(table(d1vql))) )
n <- length(unique(d1vql))
pie( x=table(d1vql), col=grey((1:n)/n))
Moda
La moda, com a dada m´es present en la mostra de dades, es pot trobar r`api-
dament mirant la taula de freq¨u`encies. Una forma per a que la torne
R
sense
haver de mirar-la seria agafar la primera component de la taula de freq¨u`encies
quan est`a ordenada. Per exemple:
rev(sort(table(d1vql)))[1]
que torna per pantalla:
D
209
Descripci´o de mostres univariants quantitatives
Les mostres univariants quantitatives es poden emmagatzemar en un vector de
tipusnum`erico en una columna concreta d’undata.frame. Anem a treballar
amb les dades creades pel codi:
set.seed(123456789)
d1vqtd <- rpois(n=rpois(n=1, lambda=500), lambda=50 )
d1vqtc <- rnorm(n=rpois(n=1, lambda=500), mean=50, sd=10
)
que creen una mostra de dades de variables discreta i cont´ınua, respectivament.
Taula de freq¨u`encies:
table()
En el cas de variables discretes, les repeticions s´on freq¨uents, aleshores la taula
es construeix com a la secci´o anterior. En el cas de variables cont´ınues, les
repeticions s´on poques, i l’abund`ancia de dades diferents fa la t`ecnica in´util, i
es recorre a fer intervals. Prova:
table(d1vqtd)
table(d1vqtc)
Les variables cont´ınues es transformen en discretes formant intervals amb
ajuda de la funci´o
cut(), amb arguments:
x: el vector num`eric amb les dades a classificar en intervals.
breaks: vector que expressa la partici´o dels intervals. El nombre d’in-
tervals ser`a un menys que la llarg`aria del vector de
breaks.
right: valor l`ogic que indica si els intervals s´on tancats per la dreta
(TRUE) o per l’esquerra (FALSE).
include.lowest: valor l`ogic que indica si es tanca (TRUE) o no es tanca
(FALSE) l’interval (primer o ´ultim) que quedava amb un extrem obert.
Una vegada creada la variable amb intervals es pot fer la taula d’aquesta
nova mostra, ´es a dir:
a <- d1vqtc
intervals <- seq(from=min(a), to=max(a), length=10)
d1vqtc2 <- cut(x=d1vqt, breaks=intervals, include.lowest=TRUE)
table(d1vqtc2)
Gr`afics (I)
Per a mostres de variables cont´ınues amb poques dades
La distribuci´o de les dades d’una xicoteta mostra es pot visualitzar molt con-
venientment amb un diagrama de punts. Aquest s’obt´e amb la funci´ostripc-
hart(). Per exemple:
d1vqtc3 <- d1vqtc[1:30]
stripchart(d1vqtc3)
Quan hi ha moltes dades els punts formen l´ınies cont´ınues i no deixen
apreciar com es ditribueixen.
Per mostres de variables cont´ınues amb moltes dades
L’histograma ´es el gr`afic convenient en aquest cas, i es demana amb la funci´o
hist(). Per exemple:
hist( x=d1vqtc )
Una sintaxi m´es completa de la funci´o ´es:
hist(x, breaks = "Sturges", freq = NULL, probability = !freq,
include.lowest = TRUE, right = TRUE,
density = NULL, angle = 45, col = NULL, border = NULL,
main = paste("Histogram of" , xname),
xlim = range(breaks), ylim = NULL,
xlab = xname, ylab,
axes = TRUE, plot = TRUE, labels = FALSE,
nclass = NULL, ...)
on els principals arguments s´on:
x: la variable que cont´e les dades qualitatives.
breaks: per defecte pren un valor t´ıpic, per`o l’usuari pot variar-lo donant
un vector de punts de tall dels intervals.
freq: el valor per defecte fa que les freq¨u`encies siguen absolutes. Un
valor igual a
TRUE
fa que l’histograma siga com una funci´o de densitat
(amb `area total igual a 1).
Els altres arguments s´on semblants als ja utilitzats en la funci´oplot(), o
prou intu¨ıtius.
Un histograma enR, a banda de dibuixar un gr`afic amb barres, ´es un objecte
m´es complex que pots examinar si l’emmagatzemes en una variable. Prova a
averiguar qu`e t´e l’histograma anterior (fes que una variable l’emmagatzeme i
despr´es mostra la variable).
Per mostres de variables discretes
Una forma de representar mostres de dades de variables discretes, degut a les
repeticions, ´es tractar-les com si foren variables qualitatives, i fer doncs un
diagrama de barres, aprofitant que les categories s’ordenen per ordre alfab`etic
(que ´es el mateix que el num`eric quan les etiquetes s´on nombres). Una altra
forma ´es usar l’histograma, for¸cant la creaci´o d’intervals, perqu`e hi haja un
valor a cada interval. Per exemple:
barplot( table(d1vqtd) )
br <- seq( fr=min(d1vqtd)-0.5, to=max(d1vqtd)+0.5, by=1 )
hist( x=d1vqtd, breaks=br )
Estad´ıstics
Els estad´ıstics principals estan programats i nom´es cal usar-los. Si la variable
x
t´e la mostra:
1. De posici´o:
Mitjana aritm`etica:
mean(x)
Mediana:
median(x)
M´ınim:
min(x)
M`axim:
max(x)
Quantil d’ordre
p:
quantile( x, prob=p )
2. De dispersi´o:
Recorregut:
diff( range(x) )
Recorregut interquart´ıl lic:
IQR(x)
Vari`ancia mostral:
var(x)
Desviaci´o t´ıpica mostral:
sd(x)
Coef. de variaci´o de Pearson:
sd(x)/mean(x)
Gr`afics (II)
El diagrama de caixa:
boxplot()
El diagrama de caixa i bigots ´es molt ´util per intuir la posici´o central i dispersi´o
de les mostres quantitatives. La funci´oboxplot()torna el gr`afic. Per exemple:
boxplot(x)
Sobretot ´es ´util en comparacions de mostres relacionades, i poden repre-
sentar el gr`afic de v`aries mostres (boxplot(x1, x2,...)).
El diagrama de quantils:
ecdf()
Un altre gr`afic que d´ona informaci´o r`apida sobre la distribuci´o de les dades ´es
el diagrama de quantils. Amb aquest ´es molt r`apid contestar preguntes com
‘quin percentatge de les dades de la mostra s´on inferiors a un valor donat?’.
El diagrama de quantils es calcula amb la funci´o
ecdf()
i es dibuixa amb un
plot. Per exemple:
plot( ecdf(d1vqtd) )
plot( ecdf(d1vqtc) )
Exercicis d’ensinistrament
Usa la mostra de dades que figura a l’arxiu
s4-descriptiva-1v-dades.txt
i
carrega’l a una variable de
R, per exemple
mostra.
1. Per a la mostra univariant formada per la variable SEXE, obt´ın amb
R:
(a) La taula de freq¨u`encies.
(b) El diagrama de barres.
(c) El diagrama de sectors.
(d) Quants homes conformen la mostra? Sol.: 98
(e) Quin percentatge dels individus de la mostra s´on dones? Sol.: 44.31
2. Per a la mostra univariant formada per la variable SISOPER, obt´ın amb
R:
(a) La taula de freq¨u`encies absolutes i relatives, ordenades de major a
menor freq¨u`encia.
(b) El diagrama de barres amb les barres ordenades de major a menor
freq¨u`encia.
(c) Quin percentatge dels individus de la mostra usa Linux? Sol.: 51.70
3. Per a la mostra univariant formada per la variable NOTAFINAL:
(a) Dibuixa un histograma de les notes amb 10 intervals.
(b) Quants individus han superat l’assignatura? Sol.: 104
(c) Quina nota prendries per representar el nivell del grup? Sol.: 6.12
(o 5.78)
(d) Quin valor descriuria la variabilitat de notes en el grup? Sol.: 2.99
(altres valors s´on possibles)
(e) Quin sexe pots considerar que t´e un nivell superior de la nota final?
Sol.: Les dones (6.354>5.948)
(f) Quin sexe pots considerar que forma un grup m´es homogeni respecte
al nivell de la nota final? Sol.: Les dones (0.4623544<0.5108202)
(g) Compareu les notes dels alumnes agrupats per sexe, usant un gr`afic
que visualitze b´e la posici´o i la dispersi´o.
(h) Compareu les notes dels alumnes agrupats per sistema operatiu,
usant un gr`afic que visualitze b´e la posici´o i la dispersi´o.
(i) Si el professor vol tenir un percentatge de suspensos del 30%, quina
nota de tall divis`oria hauria d’establir? Sol.: 4.33
Cap´ıtol 4
Descripci´o de mostres de dades
multivariants
In document
Estadística bàsica per a l'Enginyeria Tècnica en Informàtica de Gestió
(página 55-63)