1. 2. i 3. vježba (r)d
DESCRIPTION
dTRANSCRIPT
Zadatak 1. Prodava£ u butiku biljeºi koli£inu prodanih majica pojedineveli£ine i dobiveni su podaci dani sljede¢om tablicom
XS 2S 9M 30L 16XL 7XXL 3
Gra�£ki prikaºite podatke pomo¢u(a) stup£astog dijagrama(b) stukturalnog kruga(c) Pareto dijagrama
Rje²enje:
(a)
> imena<-c('XS','S','M','L','XL','XXL')
> f<-c(2,9,30,16,7,3)
> fr<-f/sum(f)
> kf<-cumsum(f)
> kfr<-cumsum(fr)
> majice<-data.frame(imena,f,kf,fr,kfr)
> majice
imena f kf fr kfr
1 XS 2 2 0.02985075 0.02985075
2 S 9 11 0.13432836 0.16417910
3 M 30 41 0.44776119 0.61194030
4 L 16 57 0.23880597 0.85074627
5 XL 7 64 0.10447761 0.95522388
6 XXL 3 67 0.04477612 1.00000000
## Nacrtajmo histogram
> barplot(f,col=rainbow(length(f)),legend.text=imena, main='Histogram broja
prodanih majica po veli£ini')
(b)
> postotci<-round(f/sum(f)*100)
> imena1<-paste(imena,postotci, sep=", ")
> imena1<-paste(imena1,"%")
1
XS S M L XL XXL
XSSMLXLXXL
Histogram broja prodanih majica po velicini
05
1015
2025
30
> pie(f,labels=imena1,col=rainbow(6),main='Strukturalni krug
broja prodanih majica po veli£ini')
XS, 3 %
S, 13 %M, 45 %
L, 24 %
XL, 10 %
XXL, 4 %
Strukturalni krug broja prodanih majica po velicini
## ili ako zelimo 3D prikaz
>library(plotrix)
>pie3D(f,labels=imena1,col=heat.colors(6),border=F,explode=0.05,
2
main='Strukturalni krug broja prodanih majica po veli£ini')
Strukturalni krug broja prodanih majica po velicini
XS 3%,%
S 13%,%M 45%,%
L 24%,%
XL 10%,%
XXL 4%,%
(c)
>names(f)<-imena
>f<-data.frame(f)
>library(qcc)
>pareto.chart(f,main='Pareto dijagram broja prodanih majica po veli£ini')
Pareto chart analysis for f
Frequency Cum.Freq. Percentage Cum.Percent.
M 30.000000 30.000000 44.776119 44.776119
L 16.000000 46.000000 23.880597 68.656716
S 9.000000 55.000000 13.432836 82.089552
XL 7.000000 62.000000 10.447761 92.537313
XXL 3.000000 65.000000 4.477612 97.014925
XS 2.000000 67.000000 2.985075 100.000000
## ili ako zelimo u nekoj drugoj boji
>pareto.chart(f,col=terrain.colors(6),main='Pareto dijagram
broja prodanih majica po veli£ini')
## ostale mogu¢e boje su: rainbow(), heat.colors(), topo.colors()
3
M L S XL
XX
L
XS
Pareto dijagram broja prodanih majica po velicini
Fre
quen
cy
010
2030
4050
6070
●
●
●
●
●
●
0%25
%50
%75
%10
0%
Cum
ulat
ive
Per
cent
age
## ako zelimo dodati vertikalnu liniju koja nam oznacava mjesto gdje kumulativna
suma dostize 75% od najvece vrijednosti koristimo sljedecu naredbu
> abline(h=(sum(f)*.75),col="red",lwd=3)
4
M L S XL
XX
L
XS
Pareto dijagram broja prodanih majica po velicini
Fre
quen
cy
010
2030
4050
6070
●
●
●
●
●
●
0%25
%50
%75
%10
0%
Cum
ulat
ive
Per
cent
age
Zadatak 2. Promatraju¢i boju o£iju u£enika jednog razreda dobiveni susljede¢i podaci:Boja o£iju Frekvencija
Plava 10Sme�a 11Crna 2Zelena 7
Odredite tablicu relativnih i kumulativnih frekvencija. Skicirajte histogram,strukturalni krug, te Pareto diagram za dane podatke.
5
Zadatak 3. Kontrolor uzima serije od 30 proizvoda i svaki put zapi²ebroj defektnih proizvoda u seriji. Nakon 20 pregledanih serija dobiveni susljede¢i podaci:
0 0 1 1 0 0 3 1 0 2
0 1 0 0 4 0 0 3 2 0
(a) Odredite tablicu frekvencija i relativnih frekvencija i kumulanti
(b) Nacrtajte histogram, poligon frekvencija i kumulantu distribucije
Rje²enje:
(a)
> def<-c(0,0,1,1,0,0,3,1,0,2,0,1,0,0,4,0,0,3,2,0)
> def.f<-table(def)
> def.f
def
0 1 2 3 4
11 4 2 2 1
> def.fr<-def.f/sum(def.f)
> def.fr
def
0 1 2 3 4
0.55 0.20 0.10 0.10 0.05
> def.kf<-cumsum(def.f)
> def.kf
0 1 2 3 4
11 15 17 19 20
> def.kfr<-cumsum(def.fr)
> def.kfr
0 1 2 3 4
0.55 0.75 0.85 0.95 1.00
> defektni<-cbind(def.f,def.kf,def.fr,def.kfr)
> defektni
def.f def.kf def.fr def.kfr
0 11 11 0.55 0.55
1 4 15 0.20 0.75
2 2 17 0.10 0.85
3 2 19 0.10 0.95
4 1 20 0.05 1.00
6
(b)
> plot(def.f,type="b",lty=5,pch=10, col="dark blue", xlab="Broj
defektnih proizvoda u seriji od 20", ylab="Frekvencija")
> plot(def.fr,type="b")
> plot(def.kfr,type="b")
##ili
> plot(def.f,type="b")
> plot(def.fr,type="b")
> plot(def.kfr,type="s")
Zadatak 4. U 16 drºava izmjerena je prosje£na konzumacija maslinovogulja (u litrama) po glavi stanovnika u toku jedne godine i dobiveni su podaci
9.9 5.6 10.8 6.3 3.9 11.2 5.7 8.4
7.2 4.2 5.8 15.2 10.9 3.1 7.4 9.1
Nacrtajte histogram , poligon relativnih frekvencija i kumulantu distribucijeza dane podatke.Rje²enje:
>podaci<-c(9.9,5.6,10.8,6.3,3.9,11.2,5.7,8.4,7.2,4.2,5.8,15.2,10.9,3.1,7.4,9.1)
> range(podaci)
[1] 3.1 15.2
> k<-round(1+3.3*log(length(podaci))/log(10))
> k
[1] 5
> r<-(max(podaci)-min(podaci))/k
> r
[1] 2.42
> razredi<-seq(3.0,15.5,by=2.5)
> razredi
[1] 3.0 5.5 8.0 10.5 13.0 15.5
## svakom od podataka pridruzimo razred u kojem se nalazi koristeci
funkciju 'cut'
> podaci.cut<-cut(podaci,razredi,right=F)
> podaci.cut
[1] [8,10.5) [5.5,8) [10.5,13) [5.5,8) [3,5.5) [10.5,13) [5.5,8)
[8] [8,10.5) [5.5,8) [3,5.5) [5.5,8) [13,15.5) [10.5,13) [3,5.5)
[15] [5.5,8) [8,10.5)
Levels: [3,5.5) [5.5,8) [8,10.5) [10.5,13) [13,15.5)
7
> podaci.f<-table(podaci.cut)
> podaci.f
podaci.cut
[3,5.5) [5.5,8) [8,10.5) [10.5,13) [13,15.5)
3 6 3 3 1
> cbind(podaci.f)
podaci.f
[3,5.5) 3
[5.5,8) 6
[8,10.5) 3
[10.5,13) 3
[13,15.5) 1
> podaci.fr<-podaci.f/sum(podaci.f)
> podaci.fr
podaci.cut
[3,5.5) [5.5,8) [8,10.5) [10.5,13) [13,15.5)
0.1875 0.3750 0.1875 0.1875 0.0625
> podaci.kf<-cumsum(podaci.f)
> podaci.kfr<-cumsum(podaci.fr)
## postavljamo da se podaci ispisuju zaokruzeni na 1 znamenku
(kada je broj u normaliziranom obliku)
> old=options(digits=1)
> cbind(podaci.f,podaci.fr,podaci.kf,podaci.kfr)
podaci.f podaci.fr podaci.kf podaci.kfr
[3,5.5) 3 0.19 3 0.2
[5.5,8) 6 0.38 9 0.6
[8,10.5) 3 0.19 12 0.8
[10.5,13) 3 0.19 15 0.9
[13,15.5) 1 0.06 16 1.0
>options(old)
## Nacrtajmo histogram
> hist(podaci,breaks=razredi,col='light green',border='green',
xlab="prosje£na konzumacija maslinovog ulja(l)",ylab="Frekvencija",
main="Histogram prosje£ne konzumacije maslinovog ulja")
## Nacrtajmo histogram povrsine 1
hist(podaci,breaks=razredi, freq=FALSE, col='light green',border='green',
xlab="prosje£na konzumacija maslinovog ulja(l)",ylab="Frekvencija",
main="Histogram prosje£ne konzumacije maslinovog ulja")
## Nacrtajmo histogram relatoivnih frekvencija
8
h = hist(podaci,breaks=razredi,col='light green',border='green',
xlab="prosje£na konzumacija maslinovog ulja(l)",ylab="Frekvencija",
main="Histogram prosje£ne konzumacije maslinovog ulja")
h$density = h$counts/sum(h$counts)
plot(h,freq=F)
## Nacrtajmo graf relativnih frekvencija
>sredine<-(razredi[2:length(razredi)]+razredi[1:length(razredi)-1])/2
> sredine
[1] 4.25 6.75 9.25 11.75 14.25
> plot(sredine,podaci.fr,xlab="Prosje£na konzumacija maslinovog
ulja u l ", ylab="Relativne frekvencije","b")
>
## Nacrtajmo graf kumulante relativnih frekvencija
> kfr<-c(0,podaci.kfr)
> plot(razredi,kfr,"b",xlab="Prosje£na konzumacija maslinovog
ulja u l",ylab="kumulanta relativnih frakvencija")
Histogram prosjecne konzumacije maslinovog ulja
prosjecna konzumacija maslinovog ulja(l)
Fre
kven
cija
4 6 8 10 12 14 16
01
23
45
6
9
●
●
● ●
●
4 6 8 10 12 14
Prosjecna konzumacija maslinovog ulja u l
Rel
ativ
ne fr
ekve
ncije
●
●
●
●
●
●
4 6 8 10 12 14 16
0.0
0.2
0.4
0.6
0.8
1.0
Prosjecna konzumacija maslinovog ulja u l
kum
ulan
ta r
elat
ivni
h fr
akve
ncija
Zadatak 5. Zadani su sljede¢i podaci
44 63 68 84 46 72 76 106
81 88 72 49 64 66 75 47
Za dane podatke nacrtaje:(a) stem and leaf diagram
10
(b) dijagram to£akaRje²enje:
(a)
> podaci<-c(44,63,68,84,46,72,76,106,81,88,72,49,64,75,47)
> stem(podaci)
The decimal point is 1 digit(s) to the right of the |
4 | 4679
6 | 3482256
8 | 148
10 | 6
> library(epicalc)
> dotplot(floor(podaci/10),pch=20,main="Dijagram to£aka")
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
05
1015
20
Dijagram tocaka
Fre
quen
cy
4 5 6 7 8 9 10
11
Zadatak 6. Zadani su podaci
−23.67 10.2 − 3.40 4.43 15.51 5.67 16.87 − 12.55 56.8 0.23
1.11 − 12.45 − 3.57 24.71 5.91 33.5 52.42 30.99 2.55 − 11.98
Nacrtajte stem and leaf diagram i diagram to£aka za dane podatke.
12
Zadatak 7. Mjereno je vrijeme izvo�enja neke radne operacije i dobivenisu sljede¢i podaci (u sekundama)
24 28 22 26 24
27 26 25 26 23
30 26 29 25 27
24 26 25 24 27
Odredite sredinu, medijan, mod, raspon, interkvartil i standardnu devijacijuza dane podatke.Rje²enje:
## Ucitajmo podatke
>podaci<-c(24,28,22,26,24,27,26,25,26,23,30,26,29,25,27,24,26,25,24,27)
> podaci
[1] 24 28 22 26 24 27 26 25 26 23 30 26 29 25 27 24 26 25 24 27
## Odredimo srednju vrjednost (aritmeticku sredinu) podataka
> mean(podaci)
[1] 25.7
## Odredimo harmonijsku sredinu podataka
library(psych)
> harmonic.mean(podaci)
[1] 25.55752
## Odredimo geometrijsku sredinu podataka
> geometric.mean(podaci)
[1] 25.62846
## Odredimo medijan podataka
> median(podaci)
[1] 26
## Odredimo mod podataka
## Prvo moramo definirati funkciju statmod
> statmod<-function(x){
+ z<-table(as.vector(x))
+ names(z)[z==max(z)]
+ }
> statmod(podaci)
[1] "26"
## Odredimo standardnu devijaciju
> sd(podaci)
13
[1] 1.976174
## Odredimo varijancu
> var(podaci)
[1] 3.905263
## Odredimo raspon podataka
> max(podaci)-min(podaci)
[1] 8
## Odredimo maksimalni podatak
> max(podaci)
[1] 30
## Odredimo minimalni podatak
> min(podaci)
[1] 22
## Odredimo donji kvartil
> quantile(podaci,0.25,type=6)
25%
24
## Drugi nacin odredivanja medijana
> quantile(podaci,0.5,type=6)
50%
26
## Odredimo gornji kvartil
> quantile(podaci,0.75,type=6)
75%
27
## Odredimo interkvartil
> IQR(podaci)
[1] 3
## Nacrtajmo dijagram pravokutnika
> boxplot(podaci)
14
2224
2628
30
Zadatak 8. Mjerenjem koncentracije krvne plazme β−endor�na trka£anakon utrke dobiveni su podaci (u pmol/l)
66 72 79 84 102 110 123 144 162 169 414
Konstruirajte diagram pravokutnika za ove podatke.
15
Zadatak 9. Sukcesivnim mjerenjima gusto¢e novootkrivenog materijaladobivene su sljede¢e vrijednosti (u g/cm3)
xi fi
[19.59, 19.60〉 3[19.60, 19.61〉 9[19.61, 19.62〉 10[19.62, 19.63〉 11[19.63, 19.64〉 15[19.64, 19.65〉 10[19.65, 19.66〉 5[19.66, 19.67〉 6[19.67, 19.68〉 2[19.68, 19.69〉 1
Odredite sredinu, medijan i standardnu devijaciju uzorka.Rje²enje:
> sredine<-seq(19.595,19.685,0.01)
> f<-c(3,9,10,11,15,10,5,6,2,1)
> library(Hmisc)
> wtd.mean(sredine,f)
[1] 19.63236
> wtd.var(sredine,f)
[1] 0.0004450509
> sqrt(wtd.var(sredine,f))
[1] 0.02109623
> wtd.quantile(sredine,f,probs=c(0,0.25,0.5,0.75,1))
0% 25% 50% 75% 100%
19.595 19.615 19.635 19.645 19.685
> wtd.Ecdf(sredine,f)
$x
[1] 19.595 19.595 19.605 19.615 19.625 19.635 19.645 19.655 19.665 19.675
[11] 19.685
$ecdf
[1] 0.00000000 0.04166667 0.16666667 0.30555556 0.45833333 0.66666667
[7] 0.80555556 0.87500000 0.95833333 0.98611111 1.00000000
> F<-wtd.Ecdf(sredine,f)
>plot(F$x,F$ecdf,'l',xlab='gusto¢a materijala',
ylab='kumulanta relativnih frekvencija')
> abline(h=0.75,col='dark red')
16
> abline(h=0.25,col='orange')
> abline(h=0.5,col='red')
19.60 19.62 19.64 19.66 19.68
0.0
0.2
0.4
0.6
0.8
1.0
gustoca materijala
kum
ulan
ta r
elat
ivni
h fr
ekve
ncija
17
Zadatak 10. Promatramo ocjene iz Matematike u£enika 1. razredajedne srednje ²kole, te su dobiveni sljede¢i podaci:
5 3 4 4 2 5 3 3 2 2 2 5 4
4 1 2 3 3 3 3 4 4 2 1 2 2
Nacrtajte histogram relativnih frekvencija, te odredite aritmeti£ku sredinu,mod ,medijan, standardnu devijaciju, te gornji i donji kvantil uzorka. Nacr-tajte dijagram pravokutnika za dane podatke.
Rje²enje:
> ocjene<-c(5,3,4,4,2,5,3,3,2,2,2,5,4,1,2,2,3,3,3,3,4,4,2,1,2,2)
> n<-lenght(ocjene)
> f<-data.frame(table(ocjene))
> f
ocjene Freq
1 1 2
2 2 9
3 3 7
4 4 5
5 5 3
>f<-data.frame(f,f[2]/sum(f[2]))
> f
ocjene Freq Freq.1
1 1 2 0.08
2 2 9 0.35
3 3 7 0.27
4 4 5 0.19
5 5 3 0.12
> hist(ocjene,probability=TRUE,breaks=c(0.5,1.5,2.5,3.5,4.5,5.5,6.5),
xlab="ocjene",ylab="relativne frekvencije",main="Histogram",col="red")
> mean(ocjene)
[1] 3
> sd(ocjene)
[1] 1
> var(ocjene)
[1] 1
> summary(ocjene)
Min. 1st Qu. Median Mean 3rd Qu. Max.
18
1 2 3 3 4 5
> quantile(ocjene,0.25)
25%
2
> quantile(ocjene,0.5)
50%
3
> median(ocjene)
[1] 3
> quantile(ocjene,0.75)
75%
4
>boxplot(ocjene)
Zadatak 11. Na nekom fakultetu je odabran uzorak od 40 studenata iizmjerene su im visine:
140 188 175 176 177 168 162 181
183 187 187 162 184 161 180 169
195 171 170 199 181 169 189 191
172 182 183 178 180 165 185 205
183 187 188 182 163 179 178 188
Odredite karakteristi£nu petorku uzorka, te nacrtajte dijagram pravokutnika.
19
Zadatak 12. Podaci o cijenama litre mlijeka sakupljene na 100 pro-dajnih mjesta dane su u datoteci 'mlijeko' . Nacrtajte histogram, poligonrelativnih frekvencija i kumulantu za dane podatke.Rje²enje:
> x<-scan('mlijeko')
Read 100 items
> x
[1] 5.05 6.37 4.50 3.70 4.72 6.58 5.46 4.82 5.46 5.61 4.75 4.42 5.59 5.05 5.88
[16] 4.85 3.91 5.04 6.39 5.22 4.74 6.07 5.65 4.87 6.45 6.46 6.78 5.60 5.19 5.16
[31] 7.35 7.00 5.69 6.62 5.36 5.94 4.09 5.60 6.15 6.25 5.40 7.19 6.27 7.48 4.88
[46] 4.01 5.42 3.87 4.47 4.32 4.97 6.09 4.84 4.38 5.57 5.96 6.60 4.92 6.01 5.89
[61] 4.91 5.76 4.76 5.19 5.66 6.80 5.48 5.27 6.16 5.35 3.97 5.20 5.27 5.58 4.96
[76] 5.69 5.26 4.81 5.71 4.57 5.79 6.28 5.01 6.28 5.61 6.17 4.07 4.06 4.80 7.15
[91] 6.51 5.33 7.42 5.14 6.24 5.66 6.74 5.61 6.35 4.32
Zadatak 13. Izmjeren je kapacitet 494 istovrsnih kondenzatora. Podaci ofrekvenciji fi pojavljivanja odre�enih vrijednosti unutar intervala [ai, bi〉 danesu u datoteci 'kondenzatori'. Odredite aritmeti£ku sredinu, medijan, mod,gornji i donji kvantil, te skicirajte histogram(povr²ine 1), poligon relativnihfrekvencija i kumulante za dane podatke.
Rje²enje:
## Ucitajmo podatke iz datoteke 'kondenzatori' u varijablu y
> y<-read.table('kondenzatori')
> y
a b f
1 20.0 20.5 8
2 20.5 21.0 15
3 21.0 21.5 50
4 21.5 22.0 93
5 22.0 22.5 85
6 22.5 23.0 100
7 23.0 23.5 67
8 23.5 24.0 46
9 24.0 24.5 20
10 24.5 25.0 9
11 25.0 25.5 1
## Odredimo velicinu uzorka
20
> N<-sum(y$f)
> N
[1] 494
## Odredimo sredine razreda
> s<-(y$a+y$b)/2
> s
[1] 20.25 20.75 21.25 21.75 22.25 22.75 23.25 23.75 24.25 24.75 25.25
## Odredimo aritmeticku sredinu uzorka (uocimo da smo mogli koristiti
funkcije wtd.mean, wtd.quantile, wtd.Ecdf iz biblioteke Hmisc)
> as<-crossprod(s,y$f)/N
> as
[,1]
[1,] 22.48583
## Odredimo karakteristicnu petorku
## Buduci da nemamo "`pravi" uzorak, prvo formiramo uzorak u kojem ce se
svako od opazanja iz pojedinog razreda biti positovjeceno sa sredinom razreda
> y.uzorak<-rep(s,y$f)
> summary(y.uzorak)
Min. 1st Qu. Median Mean 3rd Qu. Max.
20.25 21.75 22.25 22.49 23.25 25.25
## Odredimo relativne frekvencije razreda
> fr<-y$f/N
> fr
[1] 0.016194332 0.030364372 0.101214575 0.188259109 0.172064777 0.202429150
[7] 0.135627530 0.093117409 0.040485830 0.018218623 0.002024291
## Odredimo kumulantu relativnih frekvencija razreda
> Fr<-cumsum(fr)
## Dodajmo u tablicu y stupac s relativnim frekvencijama i
kumulantom relativnih frekvencija
> y<-data.frame(y,fr,Fr)
> y
a b f fr Fr
1 20.0 20.5 8 0.016194332 0.01619433
2 20.5 21.0 15 0.030364372 0.04655870
3 21.0 21.5 50 0.101214575 0.14777328
4 21.5 22.0 93 0.188259109 0.33603239
5 22.0 22.5 85 0.172064777 0.50809717
6 22.5 23.0 100 0.202429150 0.71052632
7 23.0 23.5 67 0.135627530 0.84615385
8 23.5 24.0 46 0.093117409 0.93927126
9 24.0 24.5 20 0.040485830 0.97975709
21
10 24.5 25.0 9 0.018218623 0.99797571
11 25.0 25.5 1 0.002024291 1.00000000
## Skicirajmo histogram povrsine 1
> hist(y.uzorak,breaks=seq(20,25.5,by=0.5),freq=FALSE,col='dark violet',
border='white', main='Histogram kapaciteta istvorsnih kondenzatora')
## Skicirajmo poligon relativnih frekvencija
> plot(s,fr,'l',xlab='Kapacitet kondenzatora',ylab='relativna
frekvencija',main='Poligon relativnih frekvencija',col='blue')
## Skicirajmo kumulantu relativnih frekvencija
> plot(c(20,y$b),c(0,Fr),'l',xlab='Kapacitet kondenzatora',
ylab='kumulanta relativna frekvencija',main='Kumulanta relativnih frekvencija',
col='blue')
> abline(h=0.75,col='dark red')
> abline(h=0.25,col='orange')
> abline(h=0.5,col='red')
Histogram kapaciteta istvorsnih kondenzatora
y.uzorak
Den
sity
20 21 22 23 24 25
0.0
0.1
0.2
0.3
0.4
22
21 22 23 24 25
0.00
0.05
0.10
0.15
0.20
Poligon relativnih frekvencija
Kapacitet kondenzatora
rela
tivna
frek
venc
ija
20 21 22 23 24 25
0.0
0.2
0.4
0.6
0.8
1.0
Kumulanta relativnih frekvencija
Kapacitet kondenzatora
kum
ulan
ta r
elat
ivna
frek
venc
ija
Zadatak 14. Pra¢enjem broja stanovnika jednog gradi¢a u periodu od50 godina dobiveni su podaci spremljeni u datoteku 'stanovnici'. Odrediteprosje£nu brzinu rasta broja stanovnika u datom periodu.
Rje²enje:
## Ucitajmo podatke iz datoteke
> x<-read.table('stanovnici')
23
## Izracunajmo brzinu rasta stanovnistva po periodima od godinu dana
> v<-x$brstanovnika[2:50]/x$brstanovnika[1:49]
> v
[1] 0.8569815 1.2246781 0.9882441 0.3617324 1.1435850 0.9791414 0.9633919
[8] 1.0622585 1.0531528 1.3565534 1.0198048 0.9422944 1.1433829 1.2119222
[15] 0.7309041 0.5177326 1.0429534 0.6069987 1.2106430 1.6076923 1.0401003
[22] 1.0138007 1.1285653 1.2042887 0.8337043 1.1557971 1.2445141 1.6412568
[29] 1.2935380 1.1415636 1.1732947 1.2179589 0.6554126 1.2931316 0.8150942
[36] 1.0948634 0.7583886 1.4266934 0.8521446 0.7400922 0.7863235 0.9145444
[43] 0.8411716 0.5676802 0.7846652 0.5579411 1.1258017 0.9877301 0.9099379
## Izracunajmo geometrijsku i aritmeticku sredinu
> vg=geometric.mean(v)
> va=mean(v)
> vg
[1] 0.9654123
> va
[1] 1.004572
## Uocimo
> x$brstanovnika[50]
[1] 2051
> x$brstanovnika[1]*vg^49
[1] 2051
> x$brstanovnika[1]*va^49
[1] 14391.89
24
Zadatak 15. Na pet strojeva razli£ite starosti izra�uje se isti proizvod,odnosno strojevi su razli£ito produktivni. U osamsatnom radnom vremenuutvr�en je prosje£an utro²ak vremena po jedinici proizvoda u minutama danu tabeli. Kolika je prosje£na produktivnost strojeva izraºena utro²kom vre-mena po proizvodu?
Stroj Utro²eno vrijeme po jedinici proizvoda (u min)
A 0, 8B 1, 0C 1, 2D 1, 2E 1, 5
Rje²enje:
## Za prosjecan utrosak vremena po proizvodu koristimo
harmonijsku sredinu
> u<-c(0.8,1.0,1.2,1.2,1.5)
> h<-harmonic.mean(u)
> h
[1] 1.090909
## Buduci da je ukupan broj proizvedenih proizvoda po stroju
> b<-8*60/u
> b
[1] 600 480 400 400 320
## pa je prosjecan utrosak vremena po proizvodu
> 8*60/mean(b)
[1] 1.090909
25
Zadatak 16. Za podatke dane u datotekama 'dat1', 'dat2' ,'dat3' i'dat4' odredite aritmeti£ku sredinu, medijan, skicirajte poligon relativnihfrekvencija i histogram, te odredite koe�cijent asimetri£nosti i zaobljenosti.
Rje²enje:
## Ucitajmo podatke iz datoteke 'dat1'
> x1<-read.table('dat1')
> x1<-x1[,1]
## Odredimo opseg podataka
> N<-length(x1)
> N
[1] 1000
## Ispisimo prvih 10 vrijednosti da odredimo tip podataka
> x1[1:10]
[1] 3.7001099 0.8816091 -6.4772521 4.5499841 2.9771401 7.1217207
[7] 5.2422784 -6.1089050 6.9055011 2.6734968
## Odredimo aritmeticku sredinu i medijan
> as<-mean(x1)
> med<-median(x1)
> as
[1] 4.802439
> med
[1] 4.911762
## Podjelimo podatke u razrede
> m=min(x1)
> M=max(x1)
> k=ceiling(1+3.3*log(1000)/log(10))
> k
[1] 11
> m
[1] -7.04834
> M
[1] 19.27563
> d=ceiling((M-m)/k*10)/10
> d
[1] 2.4
> r<-seq(-7.1,19.7,by=2.4)
> r
[1] -7.1 -4.7 -2.3 0.1 2.5 4.9 7.3 9.7 12.1 14.5 16.9 19.3
> x1.cut<-cut(x1,r,right=F)
> x1.f<-table(x1.cut)
26
> x1.fr<-x1.f/sum(x1.f)
> cbind(x1.f,x1.fr)
x1.f x1.fr
[-7.1,-4.7) 9 0.009
[-4.7,-2.3) 33 0.033
[-2.3,0.1) 69 0.069
[0.1,2.5) 169 0.169
[2.5,4.9) 219 0.219
[4.9,7.3) 239 0.239
[7.3,9.7) 156 0.156
[9.7,12.1) 67 0.067
[12.1,14.5) 30 0.030
[14.5,16.9) 8 0.008
[16.9,19.3) 1 0.001
## Nacrtajmo poligon relativnih frekvencija
> length(r)
[1] 12
> s<-(r[2:12]+r[1:11])/2
> s
[1] -5.9 -3.5 -1.1 1.3 3.7 6.1 8.5 10.9 13.3 15.7 18.1
> plot(s,x1.fr,'l',col='dark red',lwd=2,
main='Poligon relativnih frekvencija podataka iz dat1' )
##Nactrajmo histogram
> hist(x1,breaks=r,col='orange',border='white',
main='Histogram podataka iz dat1')
## Odredimo koeficijent asimetrije i zaobljenosti
> library(e1071)
> a3=skewness(x1)
> a3
[1] -0.0118604
> a4=kurtosis(x1)+3
> a4
[1] 3.05184538
## Buduci da je koeficijent asimetrije a3 blizu 0 zakljucujemo
da je distribucija simetricna, a buduci da je koeficijent
zaobljenosti a4 blizu 3 zaklju£ujemo da je distribucija
normalno zaobljena.
## Ucitajmo podatke iz dat2
27
−5 0 5 10 15
Poligon relativnih frekvencija podataka iz dat1
s
x1.fr
Histogram podataka iz dat1
x1
Fre
quen
cy
−5 0 5 10 15 20
050
100
150
200
> x2<-read.table('dat2')
> x2<-x2[,1]
## Odredimo opseg uzoreka
>length(x2)
[1] 1000
## Ispisimo prvih 10 podataka da utvrdimo o kojem se tipu vrijednosti radi
> x2[1:10]
28
[1] 1 4 5 3 9 4 4 4 6 4
## Odredimo frekvencije pojavljivanja odredenih vrijednosti
> f<-data.frame(table(x2))
## Odredimo relativne frekvencije
> f<-data.frame(f,fr=f$Freq/sum(f$Freq))
> f
x2 Freq fr
1 0 10 0.010
2 1 29 0.029
3 2 92 0.092
4 3 129 0.129
5 4 179 0.179
6 5 171 0.171
7 6 143 0.143
8 7 98 0.098
9 8 74 0.074
10 9 40 0.040
11 10 22 0.022
12 11 5 0.005
13 12 4 0.004
14 13 2 0.002
15 14 2 0.002
## Odredimo aritmeticku sredinu, medijan i mod
> mean(x2)
[1] 5.044
> median(x2)
[1] 5
## Uocimo da je mod=4, te da je mod< medijan < aritmeticka sredina
## Nacrtajmo poligon relativnih frekvencija
> plot(0:14,f$fr,'b',xlab='podaci iz dat2',ylab='relativne frekvencije',
col='dark green',main='Poligon relativnih frekvencija za podatke iz dat2',lwd=2,lty=3)
## Nacrtajmo histogram
> hist(x2,breaks=seq(-0.5,14.5,by=0.5),col='light green', border='white',
main='Histogram podataka iz dat2')
## Odredimo koeficijent asimetrije i zaobljenosti
> skewness(x2)
[1] 0.4649913
> kurtosis(x2)+3
[1] 3.257166
## Buduci da je koeficijent asimetrije a3 > 0 zakljucujemo da je
distribucija pozitivno asimetri£na, a buduci da je koeficijent
29
zaobljenosti a4 > 3 zakljucujemo da je distribucija zaobljena.
## Ako zelimo odrediti moment ili centralni moment nekog reda
uzorka, to radimo na sljedeci nacin
## npr. 5-ti moment
>library(e1071)
> moment(x2,order=3, center=F)
[1] 214.078
## ili 4-ti centralni moment
> moment(x2,order=4,center=T)
[1] 91.40272
●
●
●
●
●
●
●
●
●
●
●
● ● ● ●
0 2 4 6 8 10 12 14
0.00
0.05
0.10
0.15
Poligon relativnih frekvencija za podatke iz dat2
podaci iz dat2
rela
tivne
frek
venc
ije
30
Histogram podataka iz dat2
x2
Fre
quen
cy
0 5 10 15
050
100
150
31