
10. Duomenų lentelės peržiūra
Įsikėlus duomenis įprasta juos peržiūrėti. Tai daroma siekiant susipažinti su duomenimis, jų struktūra bei patikrinti, ar jie buvo įkelti taip, kaip tikėjomės (pvz., ar visos buvo įkeltos visos duomenų eilutės).
10.1 Duomenys, kuriuos naudosime
Šio skyriaus pavyzdžiuose ir klausimuose naudosime duomenų lenteles „iris“, „npk“, „swiss“ bei „women“, kurios yra „R“ paketo datasets dalis. Daugiau apie lenteles rašoma jų dokumentacijoje, kuri atveriama pele pažymėjus lentelės pavadinimą, parašytą redaktoriaus lange arba konsolėje, ir paspaudus F1. Taip pat parašius tokią komandą: klaustuką ?
ir po jo – lentelės pavadinimą, pvz., ?iris
, ?npk
ar ?swiss
(vieną komandą vienu metu). Jei naudojate „RStudio“, aprašymai atsiras „Help“ kortelėje.
Mokomuosius duomenis iš paketų užsikraukime naudodami funkciją data()
:
10.2 Pagrindinės peržiūros funkcijos
Įsikėlus duomenų lenteles, įprasta susipažinti su duomenų lentelės struktūra ir susidaryti įspūdį, koks jos turinys. Duomenų lentelių struktūros peržiūrai galima naudoti šias funkcijas:
class()
– rodyti duomenų lentelės „R“ klasę. Jei yra kelios klasės, žiūrėkite į pirmąją. Įprastai lentelės skiriasi tik tuo, kaip yra atspausdinamos:- įprastinė duomenų lentelė (klasė
data.frame
); - „tibble“ duomenų lentelė (klasė
tbl_df
, oficiali tidyverse duomenų lentelės klasė iš paketo tibble); data.table
klasės duomenų lentelė (iš paketo data.table. Šis paketas skirtas didelėms duomenų lentelėms, kai norima didelės spartos apdorojant duomenis).
- įprastinė duomenų lentelė (klasė
is.data.frame()
– atsakymas busTRUE
, jei tai duomenų lentelė irFALSE
– kitu atveju;dim()
– rodyti dydį („dimensiją“): eilučių ir stulpelių skaičių lentelėje (galioja ES taisyklė – pirma eilutės, po to stulpeliai). Gali būti naudojamos ir funkcijosnrow()
irncol()
kurios rodo arba vien tik eilučių, arba vien tik stulpelių skaičių. Jei duomenų lentelėje labai daug eilučių ar, ypač, stulpelių (pvz., 1000), pagal tai turėtume nuspręsti, kurias funkcijas toliau verta naudoti;glimpse()
iš paketo dplyr (patogesnisstr()
analogas) – glaustai rodyti struktūrą: eilučių (Observations) ir stulpelių (Variables) skaičių, stulpeliuose esančių duomenų tipus ir kelias pirmąsias reikšmes;View()
– peržiūrėti lentelę atskirame lange (pastaba: pavadinimeV
didžioji);head()
– rodyti pirmąsias eilutes;tail()
– rodyti paskutines eilutes;names()
– rodyti kintamųjų pavadinimus (duomenų lentelių atveju rezultatas bus tas pats, kaip funkcijoscolnames()
);colnames()
– rodyti stulpelių pavadinimus;rownames()
– rodyti eilučių pavadinimus.
Šių funkcijų skliaustuose nurodomas dominančios lentelės pavadinimas be kabučių. Jei, tarkime, norime patyrinėti duomenų lentelę „iris“ – štai keletas pavyzdžių, kaip naudoti šias funkcijas:
Pastebėkite, kad po to, kai užkrovėme duomenis (lentelės), toliau jų pavadinimą rašome be kabučių, nes duomenų lentelė (šiuo atveju „iris“) — jau „R“ atmintyje esantis objektas.
Užduotis 10.1 Naudodamiesi funkcijomis class()
, dim()
, glimpse()
, head()
, tail()
, names()
, colnames()
, rownames()
, View()
, patyrinėkite duomenų lenteles iris
, npk
, swiss
, women
, CO2
(CO2 – visos raidės didžiosios). Jos užkraunamos iš „R“ paketo datasets. Atsakykite į klausimus:
- Kokia duomenų lentelės klasė? Ar „data.frame“?
- Kiek lentelėje objektų?
- Kiek kintamųjų?
- Kokie kintamųjų pavadinimai?
- Ar lentelė turi eilučių pavadinimus, ar tik eilučių numerius?
10.3 Kaip atpažinti stulpeliuose esančių duomenų klases?
Kiekvienas stulpelis lentelėje yra tam tikro tipo statistinis kintamasis. „R“ kiekvienam kintamajam – lentelės stulpeliui – suteikia „R“ objekto klasę, kurią galime sužinoti keliais būdais. Jei duomenų lentelę atspausdinsime R Markdown dokumente dirbdami Notebook režimu (kol kas nesimokėme), rezultatas bus panašus į tą, kuris pateiktas paveiksle 10.1.

Pav. 10.1: Duomenų lentelė atspausdinta R Markdown dokumente dirbant Notebook režimu (nesimokėme). Kintamųjų (lentelės stulpelių) klasės pateiktos po pavadinimais trikampiuose skliaustuose. Eilučių skaičius – lentelės apačioje („4 rows“).
Naudodami funkciją glimpse()
, gausime tokį rezultatą:
## Rows: 4
## Columns: 6
## $ lapu_skaicius <int> 24, 22, 28, 25
## $ lapu_ilgis <dbl> 1.3, 1.6, 2.2, 1.1
## $ kvapo_stiprumas <ord> silpnas, vidutinis, stiprus, stiprus
## $ ziedu_spalva <fct> raudona, geltona, geltona, balta
## $ ar_augo_lauke <lgl> FALSE, TRUE, TRUE, FALSE
## $ komentaras <chr> "-", "-", "tirta ryte", "-"
Čia „R“ parašo eilučių (4) ir stulpelių (6) skaičių, išvardija kintamųjų pavadinimus (lapu_skaicius
, lapu_ilgis
, …), jų klases (int
, num
ir t.t.), kelias pirmąsias reikšmes (pvz., 24, 22, 28,
…).
Dažniausiai naudojamų „R“ duomenų tipų žymėjimai:
dbl
(double) arbanum
(numeric) – realusis skaičius (skaičius su kableliu);int
(integer) – sveikasis skaičius;fct
arba Factor – faktorius, kategorinis (nominalusis) kintamasis, kurio reikšmės neturi natūralios tvarkos;ord
arba Ord.factor (ordered factor) – ranginis kintamasis (faktorius, kurio reikšmės turi eilės tvarką);lgl
arbalogi
(logical) – loginis kintamasis;chr
(character) – tekstas (simbolių eilutės);date
arba Date – data;dttm
(datetime), arbaPOSIXct
,POSIXlt
ir kiti – data ir laikas;list
– stulpelis sąrašas (sudėtingesnės duomenų struktūros).
glimpse()
, nustatykite, kokie „R“ duomenų tipai yra lentelių iris
, npk
, swiss
, women
bei starwars
stulpeliuose.10.4 Teorinis duomenų tipas ir jam tinkama R klasė
Statistikos kurso metu dirbsime tik su kiekybiniais (skaitiniais) ir su kategoriniais (nominaliaisiais ir ranginiais) kintamaisiais. „R“ aplinkoje kintamiesiems turi būti parinktos tinkamos klasės. Tada „R“ braižys tinkamus grafikus, atliks tinkamas statistines suvestines, leis atlikti tai duomenų klasei tinkamas statistines analizes.
Teoriniai kintamųjų tipai ir jiems tinkamos R klasės:
- Kiekybiniams (skaitiniams):
- tolydiesiems tinka:
- klasė „numeric“ (dar vadinama „double“) – įprastinis pasirinkimas.
- klasė „integer“ – taip pat tinka;
- diskretiesiems tinka:
- klasė „integer“ – įprastinis pasirinkimas;
- klasė „numeric“ („double“) – taip pat tinka.
- tolydiesiems tinka:
- Kokybiniams (kategoriniams):
- nominaliesiems – klasė „factor“;
- ranginiams – klasė „ordered“.
Statistinei duomenų analizei klasės „logical“ bei „character“ dažniausiai yra netinkamos. Jos įprastai verčiamos į kategorinių duomenų klases (factor
, ordered
).
Kintamųjų klasės keitimas aprašomas skyriuje apie duomenų lentelių pertvarkymą. Įprastai jis bus susijęs su funkcijos mutate()
naudojimu, aprašytu skyriuje „?? [Kintamojo klasės keitimas]“).
Užduotis 10.3 Dar kartą patyrinėkite duomenų lenteles iris
, npk
, swiss
bei women
:
- Kas yra tiriamieji? (Skaitykite duomenų lentelės aprašyme – dokumentacijoje).
- Koks teorinis kintamojo tipas (tolydieji, skaitiniai diskretieji, ranginiai, nominalieji duomenys) turėtų tikti kiekvienam stulpeliui teoriškai? Atsakymą grįskite duomenų lentelės aprašyme (dokumentacijoje) pateikta informacija bei funkcijos
glimpse()
rezultatais. - Kokiomis „R“ objektų klasėmis išsaugoti šie kintamieji iš tiesų?
- Ar pagal teorinį kintamųjų tipą (nominalusis, ranginis, diskretusis, tolydusis) „R“ klasės (factor, ordinal, numeric, integer ir kitos) parinktos tinkamai?
Atsakymą apie kintamuosius surašykite į tokią lentelę:
Lentelės pavadinimas | Kintamojo pavadinimas | Teorinis kintamojo duomenų tipas | Kintamojo „R“ klasė | Ar klasė duomenims parinkta teisingai? |
---|---|---|---|---|
… | … | … | … | … |
… | … | … | … | … |