(1) Valoda un vide
(2) Vektori/Vectors
(3) Datu tabulas/Data Frames
(4) Funkciju grafiki
(5) Vienkāršas diagrammas
(6) ggplot2 diagrammas
(7) Ģeogrāfiski dati
(8) Pārskatu veidošana
Datu vizualizācija (tāpat kā, teiksim, teātris) ir “sintētiska” lietojumu joma, kur apvienojas dažas konkrētas lietas:
Kāpēc to vajag? Tiešā veidā skatoties uz (statistiski neapstrādātiem) datiem, tajos ir grūti kaut ko saprast.
Deskriptīvā statistika parāda veidus, kā īsi apkopot (summarize) lielas datu kopas datu atribūtus. Kvantitatīviem datu atribūtiem aplūko caurmēra novērtējumus (vidējo vērtību, mediānu) un izkliedes novērtējumus (dispersiju vai standartnovirzi, starpkvartiļu attālumu, datu diapazonu u.c.).
Kvalitatīviem datu atribūtiem var apskatīt vērtību relatīvo biežumu. Šos raksturlielumus var tālāk attēlot histogrammās (attiecīgi kvalitatīviem datiem - joslu vai sektoru diagrammās).
Piemērs: Centralizētais matemātikas eksāmens pēc 12.kl. Vai eksāmena datus analizē pareizi?
Modeļi apskata reālu datu tuvināšanu ar matemātiski aprakstāmu deterministisku vai varbūtisku procesu, ko ir vieglāk analizēt un arī zīmēt. Kļūdu novērtējumi, piemēram, dabaszinātņu eksperimentos vai socioloģiskās aptaujās izriet no statistiskiem modeļiem.
Slikti izvēlēts modelis ir kā Roršaha tests - jebkuros datos var ieraudzīt neparastas formas, korelācijas u.c. (MMR vakcīnas un autisms…)
Piemērs: Francis Galtons - tēvu un dēlu garumi, piemēram, centimetros. Viena no pirmajām lineārajām regresijām.
(Bet ne katram punktu mākonītim var vilkt cauri regresijas taisni. Jābūt precīzi nomērītam neatkarīgajam mainīgajam, neatkarīgiem mērījumiem, normāli sadalītiem un homogēni izvietotiem atlikumiem.)
Markdown
(arī Pandoc, Github, Reveal.JS izmantots standarts). Dokumentu kompilē visu uzreiz vai pa daļām; tajā līdz ar datu kopu atjaunojas visas tabulas un diagrammas.Valodas izvēle skolā atkarīga no (A) piemērotas integrētās vides (IDE); (B) ērtas licencēšanas; (C) lietotāju “kopienas” - cik viegli meklēt atbildes ar Google.
Soļi:
Kreisajā panelī, lodziņā Console ieraksta šādu kodu:
Piezīme 1: Ja pirmo reizi lieto kādu pakotni, tā jāinstalē (jāsavāc no Interneta).
KnitR - pārskatu ģenerēšanas bibliotēka. GGPlot2 - diagrammu zīmēšana. GMP - Ļoti lielu skaitļu aritmētika.
Piezīme 2: Uz 32 bitu datoriem iet vecāka RStudio versija (v1.1 nevis v1.2).
require(gmp)
xx <- as.bigz(1)
for (i in 1:99) {
# Pielipina masīvam elementu,
# kas par 1 lielāks par iepriekšējo
xx <- c(xx,xx[i]+1)
}
# Atrod reizinājumu 1*2*...*100 = 100!
prod(xx)
# Atlikums, dalot 100! ar 101
xx %% 101
Piezīme: Ir spēkā Vilsona teorēma: Katram pirmskaitlim \(p\), skaitlis \((p-1)!\) dod atlikumu \(p-1\), dalot ar \(p\).
To pašu var arī meklēt internetā. Piemēram, Google meklētājā ierakstīt
r package gmp filetype:pdf
(1) Valoda un vide
(2) Vektori/Vectors
(3) Datu tabulas/Data Frames
(4) Funkciju grafiki
(5) Vienkāršas diagrammas
(6) ggplot2 diagrammas
(7) Ģeogrāfiski dati
(8) Pārskatu veidošana
Vektori valodā R pilda apmēram to lomu, ko citās valodās masīvi. Ir dažas atšķirības:
## Vektors ar 5 elementiem
xx <- c(31,33,36,41,34)
## Garums (jābūt 5)
length(xx)
## Summa (jābūt 175)
sum(xx)
## Aritm. vidējais (būs 35)
sum(xx)/length(xx)
## Tikai 5. elements (būs 34)
xx[5]
## No 3. līdz 5. elementam
sum(xx[3:5])
sum(...)
.length(...)
.Definīcija: Ja \(x_1,x_2,\ldots,x_n\) ir \(n\) skaitliski novērojumi, tad par šo lielumu vidējo vērtību sauc aritmētisko vidējo: \[\mu = \frac{\sum_{i=1}^n x_i}{n}.\]
Piezīme: Vārds “mean” nozīmē gan “nejauks”, gan “vidējais”.
Definīcija: Par
Par
Ja \(x_i\) ir mērvienības (piemēram, centimetri), tad arī \(\sigma\) mēra centimetros.
Socioloģijā, fizikā un citur bieži jāsecina par ģenerālkopu no
\[s = \sqrt{\frac{\sum_{i=1}^n (x_i - \mu)^2}{n-1}}.\]
Šādu standartnovirzi (kur dala ar \(n-1\)) rēķina R funkcija sd(...)
.
Visas populācijas standartnovirzei \(\sigma\) var uzrakstīt savu funkciju fullSD(...)
.
Soļi:
Ierakstīt lodziņos noapaļotas vērtības \(5\) un \(4.1\), nospiest Check.
Šoreiz mums bija slinkums noapaļot, to dara funkcija round()
(1) Valoda un vide
(2) Vektori/Vectors
(3) Datu tabulas/Data Frames
(4) Funkciju grafiki
(5) Vienkāršas diagrammas
(6) ggplot2 diagrammas
(7) Ģeogrāfiski dati
(8) Pārskatu veidošana
Piezīme: cars
ir R “iebūvēta” datu tabuliņa.
setwd(dirname(rstudioapi::getActiveDocumentContext()$path))
df <- read.table(file="matematikas-centralizetais.csv",
sep=",", header=TRUE)
Komanda setwd(...)
uzstāda tekošo direktoriju. Mūsu gadījumā rstudioapi
(pakotne, kuru vajag pirms lietošanas instalēt) parāda RStudio tekošo direktoriju, kurā dzīvo izpildāmais scenārijs.
Var rakstīt arī: setwd("c:/temp/")
utml.
Soļi:
Sk. ZIP apakšdirektoriju: data-analysis-course/chapters/LD-data-frames
setwd(dirname(rstudioapi::getActiveDocumentContext()$path))
df <- read.table(file="matematikas-centralizetais.csv",
sep=",", header=TRUE)
df$Part23 <- (0.50*df$Part2+(0.1875)*df$Part3)/(0.50+0.1875)
Tad ieraksta konsolē šādas komandas:
# Vidējais VISC eksāmena vērtējums
> mean(df$Total)
# Vidējā atzīme klasē Nr.4
> mean(df$Annual[df$Class=='4'])
# Vidējie procenti par testa 3.daļu klasē Nr.1
> mean(df$Part3[df$Class=='1'])
# Dažādi vidējie pa klasēm
> aggregate(cbind(Annual,Total) ~ Class, data = df, mean)
Class Annual Total
1 1 6.4500 54.050
2 2 7.1600 62.960
3 3 5.6875 39.875
4 4 5.0000 31.360
>
(1) Valoda un vide
(2) Vektori/Vectors
(3) Datu tabulas/Data Frames
(4) Funkciju grafiki
(5) Vienkāršas diagrammas
(6) ggplot2 diagrammas
(7) Ģeogrāfiski dati
(8) Pārskatu veidošana
Funkcija pieņem ļoti lielas vērtības, iziet ārpus saprātīgiem mērogiem.
\[f = \left\{ \begin{array}{l} x^2 - 1,\;\text{ja}\;x<1\\ x^3 - 5,\;\text{ja}\;1 < x <2\\ 5-2x,\;\text{ja}\;x>2.1 \end{array} \right.\]
f <- function(x) {
ifelse((x<1),x^2-1,
ifelse((1<x & x<2),x^3-5,
ifelse((x>2.1),5-2*x,NA)
)
)
}
plot(f,xlim=c(-3,5),
ylim=c(-4,7), col="red")
abline(v=0, h=0)
Ideja: Izmetam no vektoriem xx un yy tās vērtības, kurām tangenss ir pārāk liels (aizstājam ar NA
- Not a number).
Ko darīt ar izveidoto grafiku?
convert
programmu.Soļi:
Sk. ZIP apakšdirektoriju: data-analysis-course/chapters/LD-animated-gifs
(1) Valoda un vide
(2) Vektori/Vectors
(3) Datu tabulas/Data Frames
(4) Funkciju grafiki
(5) Vienkāršas diagrammas
(6) ggplot2 diagrammas
(7) Ģeogrāfiski dati
(8) Pārskatu veidošana
barplot
, pie
, hist
.Sadalījums | Blīvumfunkcija | Sadalījumfunkcija | Kvantiļu funkcija | Ģenerators |
---|---|---|---|---|
Normālais |
dnorm()
|
pnorm()
|
qnorm()
|
rnorm()
|
Vienmērīgais |
dunif()
|
punif()
|
qunif()
|
runif()
|
Binomiālais |
dbinom()
|
pbinom()
|
qbinom()
|
rbinom()
|
Eksponenciālais |
dexp()
|
pexp()
|
qexp()
|
rexp()
|
Puasona |
dpois()
|
ppois()
|
qpois()
|
rpois()
|
Soļi:
from:mbendiks rozīnes since:2018-01-01 until:2018-12-31
# Apskata rpois dokumentāciju
?rpois
# Izsauc ar parametriem
xx <- rpois(n=1000,lambda=10)
# Saskaita TRUE (rozīņu < 5)
sum(xx < 5)
# Saskaita TRUE (rozīņu nav)
sum(xx == 0)
# Tabula pa rozīņu skaitiem
table(xx)
# Citi Puasona nejaušie skaitļi
xx <- rpois(n=1000,lambda=10)
# Tabula ar kopsavilkumu
tt <- table(xx)
# Joslu diagramma
barplot(height=as.vector(tt),
names.arg=names(tt))
grid()
Piezīme. Nepārtrauktiem sadalījumiem atbilst histogrammas, diskrētiem - joslu diagrammas (stabiņiem ir atstarpes).
sample(1:6,1)
sum(sample(1:6,2,replace=TRUE))
vai sample(1:6,1)+sample(1:6,1)
(1) Valoda un vide
(2) Vektori/Vectors
(3) Datu tabulas/Data Frames
(4) Funkciju grafiki
(5) Vienkāršas diagrammas
(6) ggplot2 diagrammas
(7) Ģeogrāfiski dati
(8) Pārskatu veidošana
plot()
, points()
, barplot()
, pie()
ir neskaitāmi parametri dažādām dzīves situācijām.grid
. Kaut ko līdzīgu dara arī JavaScript bibliotēka D3.ggplot2
, kas izmanto “diagrammu algebru”.Soļi
require(ggplot2)
require(RColorBrewer)
setwd(dirname(rstudioapi::getActiveDocumentContext()$path))
df <- read.table(file="matematikas-centralizetais.csv",
sep=",", header=TRUE)
df$Part23 = 0.50*df$Part2 + (0.1875)*df$Part3
ggplot(df, aes(x=Part1, y=Part23, color=as.factor(Class))) +
geom_point() +
scale_color_manual(values=brewer.pal(4,"Set1")) +
geom_smooth(method='lm', se = FALSE)
(1) Valoda un vide
(2) Vektori/Vectors
(3) Datu tabulas/Data Frames
(4) Funkciju grafiki
(5) Vienkāršas diagrammas
(6) ggplot2 diagrammas
(7) Ģeogrāfiski dati
(8) Pārskatu veidošana
Sk. ZIP apakšdirektoriju: data-analysis-course/chapters/LD-kartes
krasaina-karte.R
(1) Valoda un vide
(2) Vektori/Vectors
(3) Datu tabulas/Data Frames
(4) Funkciju grafiki
(5) Vienkāršas diagrammas
(6) ggplot2 diagrammas
(7) Ģeogrāfiski dati
(8) Pārskatu veidošana
KnitR ir viena cilvēka (Yi Huei) projekts, kas ir tik populārs, ka ir “iebūvēts” rīkā RStudio. Tajā apvienotas vairākas tehnoloģijas: