Uvoz podatkov

podatki <- read.table("./UE.csv", 
                      header = TRUE, 
                      sep = ";", 
                      dec = ",")

head(podatki)
##   ID Rezultat Pisanje
## 1  1       50     120
## 2  2       48     120
## 3  3       48      90
## 4  4       47      50
## 5  5       52      70
## 6  6       50     120

Opis spremenljivk:

podatki1 <- podatki[ -4  ,  c(-1, -2)  ] #Odstrnili smo 4. vrstico ter 1. in 2. stolpec

podatki2 <- podatki[  ,  -3  ] 
str(podatki[ , -1])
## 'data.frame':    31 obs. of  2 variables:
##  $ Rezultat: int  50 48 48 47 52 50 50 54 57 50 ...
##  $ Pisanje : int  120 120 90 50 70 120 120 65 95 100 ...
mean(podatki$Rezultat) #Ocena povprečja
## [1] 66.22581

Ocenjevanje parametrov

#install.packages("psych")
library(psych)
describe(podatki[ , -1])
##          vars  n  mean    sd median trimmed   mad min max range  skew kurtosis   se
## Rezultat    1 31 66.23 28.84     60   63.24 17.79  20 189   169  2.32     8.00 5.18
## Pisanje     2 31 91.58 25.73     95   94.76 37.06  15 120   105 -0.92     0.61 4.62
#install.packages("pastecs")
library(pastecs)
round(stat.desc(podatki[ , -1]), 2)
##              Rezultat Pisanje
## nbr.val         31.00   31.00
## nbr.null         0.00    0.00
## nbr.na           0.00    0.00
## min             20.00   15.00
## max            189.00  120.00
## range          169.00  105.00
## sum           2053.00 2839.00
## median          60.00   95.00
## mean            66.23   91.58
## SE.mean          5.18    4.62
## CI.mean.0.95    10.58    9.44
## var            831.91  662.05
## std.dev         28.84   25.73
## coef.var         0.44    0.28
summary(podatki[ , -1])
##     Rezultat         Pisanje      
##  Min.   : 20.00   Min.   : 15.00  
##  1st Qu.: 50.00   1st Qu.: 77.50  
##  Median : 60.00   Median : 95.00  
##  Mean   : 66.23   Mean   : 91.58  
##  3rd Qu.: 75.00   3rd Qu.:115.00  
##  Max.   :189.00   Max.   :120.00
sapply(podatki[ , -1], FUN = var)
## Rezultat  Pisanje 
## 831.9140 662.0516
mean(podatki$Rezultat)
## [1] 66.22581
#install.packages("modeest")
library(modeest)
## Registered S3 method overwritten by 'rmutil':
##   method         from 
##   plot.residuals psych
mlv(podatki$Rezultat)
## [1] 50
hist(podatki$Rezultat, 
     main = "Porazdelitev doseženih točk na izpitu UE", 
     xlab = "Točke", 
     ylab = "Frekvenca", 
     breaks = seq(from = 0, to = 200, by = 20))

Normalna porazdelitev

pnorm(80, mean = 62.13, sd = 17.99, 
      lower.tail = FALSE)
## [1] 0.1602747
mean = 62.13; sd = 17.99
lb = 80; ub = Inf

x <- seq(-4,4,length=100)*sd + mean
hx <- dnorm(x,mean,sd)

plot(x, hx, type="n", xlab="Točke", ylab="",
  main="", axes=FALSE)

i <- x >= lb & x <= ub
lines(x, hx)
polygon(c(lb,x[i],ub), c(0,hx[i],0), col="blue") 

area <- pnorm(ub, mean, sd) - pnorm(lb, mean, sd)
result <- paste("P(",lb,"< Točke <",ub,") =",
   signif(area, digits=3))
mtext(result,3)
axis(1, at=seq(0, 100, 20), pos=0)

Intervalna ocena

ybar = mean(podatki$Rezultat); sd = sd(podatki$Rezultat); n = nrow(podatki)

se=sd/sqrt(n)

ybar_spodnja_t = ybar + qt(0.025, df=n-1)*se
ybar_zgornja_t = ybar + qt(0.975, df=n-1)*se

cat(c("95-odstotna intervalna ocena:", round(ybar_spodnja_t, 3), "< Mu <", round(ybar_zgornja_t, 3)))
## 95-odstotna intervalna ocena: 55.646 < Mu < 76.805

Graf kvantilov

boxplot(podatki[ , -1])

Čiščenje podatkov

podatki <- read.table("./UE.csv", 
                      header = TRUE, 
                      sep = ";", 
                      dec = ",")

head(podatki)
##   ID Rezultat Pisanje
## 1  1       50     120
## 2  2       48     120
## 3  3       48      90
## 4  4       47      50
## 5  5       52      70
## 6  6       50     120
tail(podatki)
##    ID Rezultat Pisanje
## 26 26       74      95
## 27 27       74      95
## 28 28       76     120
## 29 29       44      45
## 30 30       52      92
## 31 31      189     110
boxplot(podatki[ , -1])

library(psych)
describe(podatki[ , -1])
##          vars  n  mean    sd median trimmed   mad min max range  skew kurtosis   se
## Rezultat    1 31 66.23 28.84     60   63.24 17.79  20 189   169  2.32     8.00 5.18
## Pisanje     2 31 91.58 25.73     95   94.76 37.06  15 120   105 -0.92     0.61 4.62
head(podatki[order(-podatki$Rezultat) ,    ])
##    ID Rezultat Pisanje
## 31 31      189     110
## 24 24       95     120
## 16 16       92     120
## 23 23       92     120
## 22 22       85      90
## 15 15       80      95
podatki_novi <- podatki[-31, ]

boxplot(podatki_novi[ , -1])

mean(podatki$Rezultat)
## [1] 66.22581
podatki[31, 2] <- 89



head(podatki[order(-podatki$Rezultat), ])
##    ID Rezultat Pisanje
## 24 24       95     120
## 16 16       92     120
## 23 23       92     120
## 31 31       89     110
## 22 22       85      90
## 15 15       80      95
boxplot(podatki[ , -1])

library(psych)
describe(podatki[ , -1])
##          vars  n  mean    sd median trimmed   mad min max range  skew kurtosis   se
## Rezultat    1 31 63.00 18.33     60   63.12 17.79  20  95    75 -0.07    -0.66 3.29
## Pisanje     2 31 91.58 25.73     95   94.76 37.06  15 120   105 -0.92     0.61 4.62