# preberi podatke iz csv datoteke in jih shrani v spremenljivko podatki
podatki <- read.csv("./Maraton.csv",
header = TRUE,
sep = ";",
dec = ",")
head(podatki)
## ID Teža Višina Tlak Utrip Hemoglobin Hematokrit Holesterol Glukoza Spol
## 1 1 72 179.0 105 64 160 50 4.9 4.7 1
## 2 2 68 178.0 105 60 158 51 4.8 4.9 0
## 3 3 64 174.0 109 54 155 51 4.5 7.0 0
## 4 4 63 174.0 112 54 153 58 8.0 7.2 0
## 5 5 61 173.5 100 53 152 59 4.6 6.7 0
## 6 6 60 173.0 99 53 158 49 3.9 6.0 0
- Enota preučevanja: maratonec
- Spremenljivke: Teža (razmernostna) Višina (razmernostna) Tlak
(razmernostna) Utrip (razmernostna) Hemoglobin (razmernostna) Hematokrit
(razmernostna) Holesterol (razmernostna) Glukoza (razmernostna) Spol
(nominalna)
# oceni aritmetično sredino in standardni odklon za Višino.
paste("Aritmetična sredina višine:", round(mean(podatki$Višina), 2), "cm.")
## [1] "Aritmetična sredina višine: 176.96 cm."
paste("Standardni odklon višine:", round(sd(podatki$Višina), 2), "cm.")
## [1] "Standardni odklon višine: 5.85 cm."
# add blank line
cat("\n")
# aritmetična sredina višine glede na spol
paste("Aritmetična sredina višine 0:", round(mean(podatki$Višina[podatki$Spol == 0]), 2), "cm.")
## [1] "Aritmetična sredina višine 0: 172.75 cm."
paste("Aritmetična sredina višine 1:", round(mean(podatki$Višina[podatki$Spol == 1]), 2), "cm.")
## [1] "Aritmetična sredina višine 1: 179.76 cm."
# spremenljivko spol spremeni v faktor"
podatki$SpolFaktor <- factor(podatki$Spol,
levels = c(0, 1),
labels = c("Ženska", "Moški"))
# za vsak spol posebaj izračunaj opisno statistiko za Glukoza
tapply(podatki$Glukoza, podatki$SpolFaktor, summary)
## $Ženska
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4.600 5.300 5.800 5.957 6.925 7.200
##
## $Moški
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 3.800 4.000 4.600 4.536 4.700 6.000
library(psych)
describeBy(podatki$Glukoza, podatki$SpolFaktor)
##
## Descriptive statistics by group
## group: Ženska
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 14 5.96 0.93 5.8 5.97 1.33 4.6 7.2 2.6 0.12 -1.62 0.25
## ------------------------------------------------------------
## group: Moški
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 21 4.54 0.7 4.6 4.45 0.74 3.8 6 2.2 0.97 -0.13 0.15
t.test(podatki$Glukoza[podatki$SpolFaktor == "Ženska"],
mu = 6)
##
## One Sample t-test
##
## data: podatki$Glukoza[podatki$SpolFaktor == "Ženska"]
## t = -0.17296, df = 13, p-value = 0.8653
## alternative hypothesis: true mean is not equal to 6
## 95 percent confidence interval:
## 5.421837 6.492449
## sample estimates:
## mean of x
## 5.957143
# s stat.desc opiši spremeljivke, razen ID, Spol in SpolFaktor.
library(pastecs)
options(scipen = 999)
stat.desc(podatki[ , c(-1, -10, -11)])
## Teža Višina Tlak Utrip
## nbr.val 35.0000000 35.00000000 35.00000000 35.00000000
## nbr.null 0.0000000 0.00000000 0.00000000 0.00000000
## nbr.na 0.0000000 0.00000000 0.00000000 0.00000000
## min 55.0000000 166.00000000 90.00000000 49.00000000
## max 81.0000000 189.00000000 135.00000000 64.00000000
## range 26.0000000 23.00000000 45.00000000 15.00000000
## sum 2375.0000000 6193.50000000 3838.00000000 1967.00000000
## median 68.0000000 177.00000000 108.00000000 55.00000000
## mean 67.8571429 176.95714286 109.65714286 56.20000000
## SE.mean 1.2984431 0.98909419 1.79258175 0.67213444
## CI.mean.0.95 2.6387538 2.01008124 3.64296442 1.36594153
## var 59.0084034 34.24075630 112.46722689 15.81176471
## std.dev 7.6816927 5.85156016 10.60505667 3.97640097
## coef.var 0.1132039 0.03306767 0.09671104 0.07075447
## Hemoglobin Hematokrit Holesterol Glukoza
## nbr.val 35.00000000 35.00000000 35.0000000 35.0000000
## nbr.null 0.00000000 0.00000000 0.0000000 0.0000000
## nbr.na 0.00000000 0.00000000 0.0000000 0.0000000
## min 143.00000000 45.00000000 3.4000000 3.8000000
## max 183.00000000 69.00000000 8.0000000 7.2000000
## range 40.00000000 24.00000000 4.6000000 3.4000000
## sum 5445.00000000 1801.00000000 167.6000000 178.6500000
## median 157.00000000 51.00000000 4.7000000 4.8000000
## mean 155.57142857 51.45714286 4.7885714 5.1042857
## SE.mean 1.44552960 0.81924628 0.1692679 0.1786783
## CI.mean.0.95 2.93766959 1.66490875 0.3439938 0.3631180
## var 73.13445378 23.49075630 1.0028067 1.1174076
## std.dev 8.55186844 4.84672635 1.0014024 1.0570750
## coef.var 0.05497069 0.09418957 0.2091234 0.2070956
- Največja variabilnost: holesterol
# frekvenčna porazdelitev za hematokrit
hist(podatki$Hematokrit,
main = "Frekvenčna porazdelitev za hematokrit",
xlab = "Hematokrit",
ylab = "Število maratonovcev",
breaks = seq(40, 80, 2),
col = "lightblue",
border = "black")

# nariši isti graf v ggplot
library(ggplot2)
##
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
##
## %+%, alpha
ggplot(podatki, aes(x = Hematokrit)) +
geom_histogram(binwidth = 2, fill = "lightblue", color = "black") +
scale_x_continuous(limits = c(40,80), breaks = seq(40, 80, 2)) +
labs(title = "Frekvenčna porazdelitev za hematokrit",
x = "Hematokrit",
y = "Število maratonovcev")+
theme_minimal()
## Warning: Removed 2 rows containing missing values or values outside the scale range
## (`geom_bar()`).

# graf kvantilov za glukozo ločeno po spolu
boxplot(podatki$Glukoza ~ podatki$SpolFaktor,
main = "Graf kvantilov za glukozo ločeno po spolu",
xlab = "Spol",
ylab = "Glukoza",
col = c("pink", "lightblue"),
border = "black")

# naredi isti graf v ggplot
ggplot(podatki, aes(x = SpolFaktor, y = Glukoza, fill = SpolFaktor)) +
geom_boxplot() +
# barva za ženske naj bo pink in za moške naj bo lightblue
scale_fill_manual(values = c("pink", "lightblue")) +
labs(title = "Graf kvantilov za glukozo ločeno po spolu",
x = "Spol",
y = "Glukoza") +
theme_minimal()

#mediana ženske glukoze
paste("Mediana ženske glukoze:", median(podatki$Glukoza[podatki$SpolFaktor == "Ženska"]))
## [1] "Mediana ženske glukoze: 5.8"