data("USArrests")
podatki<-force(USArrests) #Usa vzamemo in ga pripesemo nekemu objektu podatki...mi bomo vedno poimenoval podatki
head (podatki)
## Murder Assault UrbanPop Rape
## Alabama 13.2 236 58 21.2
## Alaska 10.0 263 48 44.5
## Arizona 8.1 294 80 31.0
## Arkansas 8.8 190 50 19.5
## California 9.0 276 91 40.6
## Colorado 7.9 204 78 38.7
summary(podatki) #največji odstotek urbane populacije v nasem vzorcu? - 91%...imamo za vse 4 spremelnjivke neko opisno statistiko
## Murder Assault UrbanPop Rape
## Min. : 0.800 Min. : 45.0 Min. :32.00 Min. : 7.30
## 1st Qu.: 4.075 1st Qu.:109.0 1st Qu.:54.50 1st Qu.:15.07
## Median : 7.250 Median :159.0 Median :66.00 Median :20.10
## Mean : 7.788 Mean :170.8 Mean :65.54 Mean :21.23
## 3rd Qu.:11.250 3rd Qu.:249.0 3rd Qu.:77.75 3rd Qu.:26.18
## Max. :17.400 Max. :337.0 Max. :91.00 Max. :46.00
library(psych)
podatki<-force(sat.act)
head(podatki)
## gender education age ACT SATV SATQ
## 29442 2 3 19 24 500 500
## 29457 2 3 23 35 600 500
## 29498 2 3 20 21 480 470
## 29503 1 4 27 26 550 520
## 29504 1 2 33 31 600 550
## 29518 1 5 26 28 640 640
colnames(podatki) <- c ( "Spol", "Izobrazba","Starost" ,"Matura", "Verb" , "Kvant" ) #Tako poljubno poimenujemo spremeljivke
head(podatki)
## Spol Izobrazba Starost Matura Verb Kvant
## 29442 2 3 19 24 500 500
## 29457 2 3 23 35 600 500
## 29498 2 3 20 21 480 470
## 29503 1 4 27 26 550 520
## 29504 1 2 33 31 600 550
## 29518 1 5 26 28 640 640
library(psych)
describe (podatki) #Naredili smo opisno statistiko...
## vars n mean sd median trimmed mad min max range skew
## Spol 1 700 1.65 0.48 2 1.68 0.00 1 2 1 -0.61
## Izobrazba 2 700 3.16 1.43 3 3.31 1.48 0 5 5 -0.68
## Starost 3 700 25.59 9.50 22 23.86 5.93 13 65 52 1.64
## Matura 4 700 28.55 4.82 29 28.84 4.45 3 36 33 -0.66
## Verb 5 700 612.23 112.90 620 619.45 118.61 200 800 600 -0.64
## Kvant 6 687 610.22 115.64 620 617.25 118.61 200 800 600 -0.59
## kurtosis se
## Spol -1.62 0.02
## Izobrazba -0.07 0.05
## Starost 2.42 0.36
## Matura 0.53 0.18
## Verb 0.33 4.27
## Kvant -0.02 4.41
Uporaba funkcije describeBy Iz kategorialnih spremljivk vedno predhodno ustvarimo faktor
podatki$SpolF <- factor(podatki$Spol,
levels= c(1,2),
labels=c("M", "Z"))
library(psych)
describeBy( podatki, group= podatki$SpolF ) #Dobili bomo opisno statistiko glede na spol
##
## Descriptive statistics by group
## group: M
## vars n mean sd median trimmed mad min max range skew
## Spol 1 247 1.00 0.00 1 1.00 0.00 1 1 0 NaN
## Izobrazba 2 247 3.00 1.54 3 3.12 1.48 0 5 5 -0.54
## Starost 3 247 25.86 9.74 22 24.23 5.93 14 58 44 1.43
## Matura 4 247 28.79 5.06 30 29.23 4.45 3 36 33 -1.06
## Verb 5 247 615.11 114.16 630 622.07 118.61 200 800 600 -0.63
## Kvant 6 245 635.87 116.02 660 645.53 94.89 300 800 500 -0.72
## SpolF* 7 247 1.00 0.00 1 1.00 0.00 1 1 0 NaN
## kurtosis se
## Spol NaN 0.00
## Izobrazba -0.60 0.10
## Starost 1.43 0.62
## Matura 1.89 0.32
## Verb 0.13 7.26
## Kvant -0.12 7.41
## SpolF* NaN 0.00
## ------------------------------------------------------------
## group: Z
## vars n mean sd median trimmed mad min max range skew
## Spol 1 453 2.00 0.00 2 2.00 0.00 2 2 0 NaN
## Izobrazba 2 453 3.26 1.35 3 3.40 1.48 0 5 5 -0.74
## Starost 3 453 25.45 9.37 22 23.70 5.93 13 65 52 1.77
## Matura 4 453 28.42 4.69 29 28.63 4.45 15 36 21 -0.39
## Verb 5 453 610.66 112.31 620 617.91 103.78 200 800 600 -0.65
## Kvant 6 442 596.00 113.07 600 602.21 133.43 200 800 600 -0.58
## SpolF* 7 453 2.00 0.00 2 2.00 0.00 2 2 0 NaN
## kurtosis se
## Spol NaN 0.00
## Izobrazba 0.27 0.06
## Starost 3.03 0.44
## Matura -0.42 0.22
## Verb 0.42 5.28
## Kvant 0.13 5.38
## SpolF* NaN 0.00
#za celotno tabelo s podatki delamo opisno statistiko, ločeno po spolu
#dokument damosknit in nas je vprašal povprečno število točk na maturi za moške in za ženske ...moški so imeli 28.79, ženske so imele 28.42
summary(podatki) #R trenutno misli da je spol številska, zato je prvi stolpec tak, pri SpolF(aktor) pa R ve da gre za kategorialno in ti avtomatsko izpiše frekvence (247 mokih, 453 ženskih)...zato je zelo fajn, da na začetku vsake analize kategorialne spremnimo v FAKTOR...omenil je, da je funkcija faktor zelo pomembna...tudi če nam jo napiše jo moramo znati razložit kaj naredi
## Spol Izobrazba Starost Matura
## Min. :1.000 Min. :0.000 Min. :13.00 Min. : 3.00
## 1st Qu.:1.000 1st Qu.:3.000 1st Qu.:19.00 1st Qu.:25.00
## Median :2.000 Median :3.000 Median :22.00 Median :29.00
## Mean :1.647 Mean :3.164 Mean :25.59 Mean :28.55
## 3rd Qu.:2.000 3rd Qu.:4.000 3rd Qu.:29.00 3rd Qu.:32.00
## Max. :2.000 Max. :5.000 Max. :65.00 Max. :36.00
##
## Verb Kvant SpolF
## Min. :200.0 Min. :200.0 M:247
## 1st Qu.:550.0 1st Qu.:530.0 Z:453
## Median :620.0 Median :620.0
## Mean :612.2 Mean :610.2
## 3rd Qu.:700.0 3rd Qu.:700.0
## Max. :800.0 Max. :800.0
## NA's :13
Ustvarimo tabelo podatkiZ, kjer so vključene samo tiste osebe, ki so ženskega spola
podatkiZ <- podatki[podatki$SpolF=="Z" , ] #Iščem tiste vrstice, ki je SpolF enak Z...na desni zgoraj s enam odpre nova tabela, ki ima samo se 453 vrstic, so notri samo še ženske...temu se reče sabsetanje...ustvarili smo neko novo tabelo iz obstoječe glede na nrk pogoj
Izberite samo tiste študente, ki so stari med 20 in 30 let
podatki2 <- podatki[podatki$Starost >= 20 & podatki$Starost <= 30, ] #Naredi nam novo tabelo podatki2, imamo notri 238 oseb...ce je nekdo tuki star točno 20 ali pa točno 30 let ali je vključen?-Ne...za znaki manjše/večje dodamo = in so potem vključeni tudi tisti, ki so stari vključno 20 ali 30 in sedaj se enkrat poženemo in jih je potem v tabeli podatki2 323
library(pastecs)
round (stat.desc(podatki),2) #Stat.desc smo dodali se funkcijo round, da bo zaokroženo na dve decimalki...nbr.val 700= imamo 700 oseb v vzorcu...nbr.null ti pove koliko oseb ima neko vrednost nič (očitno je imelo 57 oseb vrednost izobraze nulo, to ne pomen da je mankajoča cifra ampak da je izobrazba nič...nbr.na(not avaible)...ti pa pove če imaš celo kakšno mankajočo vrednost...mankajoča vrednost pri kvantitativni ...pri 13 osebah mi manjka vrednost kvantitativnega rezultata...recimo da hočemo zbrisat teh 13 oseb...imamo spodaj primer na funkciji - kako mi počistimo podatke, da odstanimo mankajoče vrednosti)
## Spol Izobrazba Starost Matura Verb Kvant SpolF
## nbr.val 700.00 700.00 700.00 700.00 700.00 687.00 NA
## nbr.null 0.00 57.00 0.00 0.00 0.00 0.00 NA
## nbr.na 0.00 0.00 0.00 0.00 0.00 13.00 NA
## min 1.00 0.00 13.00 3.00 200.00 200.00 NA
## max 2.00 5.00 65.00 36.00 800.00 800.00 NA
## range 1.00 5.00 52.00 33.00 600.00 600.00 NA
## sum 1153.00 2215.00 17916.00 19983.00 428564.00 419219.00 NA
## median 2.00 3.00 22.00 29.00 620.00 620.00 NA
## mean 1.65 3.16 25.59 28.55 612.23 610.22 NA
## SE.mean 0.02 0.05 0.36 0.18 4.27 4.41 NA
## CI.mean.0.95 0.04 0.11 0.70 0.36 8.38 8.66 NA
## var 0.23 2.03 90.22 23.27 12746.99 13372.45 NA
## std.dev 0.48 1.43 9.50 4.82 112.90 115.64 NA
## coef.var 0.29 0.45 0.37 0.17 0.18 0.19 NA
#install.packages("tidyr") #prvo namestis knjižnico, nato daš #pred njo, drugi korak je, da jo aktiviras (druga vrstica)
library(tidyr)
##
## Attaching package: 'tidyr'
## The following object is masked from 'package:pastecs':
##
## extract
podatki <- drop_na(podatki) #avtomatsko mi bo odstarnil tistih 13 z mankajočimi podatki ...desno zgoraj se tabela iz 700 spremni na 687