Statistikas.lt Statistikas.lt
  • Paslaugos
  • Pavyzdžiai
  • Straipsniai
  • Nemokama analizė
  • Apie
  • Susisiekti

Šiame tinklalapyje

  • Kintamųjų tipai
  • Kategorinių kintamųjų kodavimas
  • Ranginių kintamųjų kodavimas
  • Dummy kodavimas
  • Dažnos klaidos
  • Praktinis pavyzdys

Kaip koduoti duomenis?

duomenų-paruošimas
R
pradedantiesiems
Duomenų kodavimas yra svarbus žingsnis prieš statistinę analizę. Sužinokite, kaip teisingai koduoti kintamuosius.
Autorius

Paulius Alaburda

Paskelbta

2023 m. vasario 15 d.

Duomenų kodavimas yra vienas svarbiausių žingsnių prieš statistinę analizę. Nuo to, kaip koduojate kintamuosius, priklauso, kokius statistinius metodus galėsite taikyti.

Kintamųjų tipai

Prieš koduojant duomenis, svarbu suprasti kintamųjų tipus:

Tipas Aprašymas Pavyzdžiai
Kategorinis Grupės, kurios neturi tvarkos Lytis, spalva, miestas
Ranginis Grupės su tvarka Išsilavinimas, Likert skalė
Tolydus Skaičiai su prasme Amžius, svoris, ūgis

Kategorinių kintamųjų kodavimas

R kalboje kategoriniai kintamieji turėtų būti factor tipo:

library(dplyr)

duomenys <- data.frame(
  lytis = c("V", "M", "V", "M", "V"),
  amzius = c(25, 32, 45, 28, 51)
)

# Paverčiame į faktorių
duomenys$lytis <- factor(duomenys$lytis, 
                          levels = c("V", "M"),
                          labels = c("Vyras", "Moteris"))

str(duomenys)
'data.frame':   5 obs. of  2 variables:
 $ lytis : Factor w/ 2 levels "Vyras","Moteris": 1 2 1 2 1
 $ amzius: num  25 32 45 28 51

Ranginių kintamųjų kodavimas

Ranginiai kintamieji turėtų būti koduojami su nurodyta tvarka:

issilavinimas <- c("Vidurinis", "Aukštasis", "Pagrindinis", "Aukštasis", "Vidurinis")

issilavinimas_factor <- factor(
  issilavinimas,
  levels = c("Pagrindinis", "Vidurinis", "Aukštasis"),
  ordered = TRUE
)

issilavinimas_factor
[1] Vidurinis   Aukštasis   Pagrindinis Aukštasis   Vidurinis  
Levels: Pagrindinis < Vidurinis < Aukštasis
Patarimas

Naudokite ordered = TRUE ranginiams kintamiesiems - tai leis R teisingai interpretuoti kintamojo prigimtį!

Dummy kodavimas

Kai kuriems modeliams reikia konvertuoti kategorinius kintamuosius į skaitinius:

# model.matrix automatiškai sukuria dummy kintamuosius
model.matrix(~ lytis, data = duomenys)
  (Intercept) lytisMoteris
1           1            0
2           1            1
3           1            0
4           1            1
5           1            0
attr(,"assign")
[1] 0 1
attr(,"contrasts")
attr(,"contrasts")$lytis
[1] "contr.treatment"

Dažnos klaidos

Ko vengti?
  1. Nekoduoti tekstinių kintamųjų - R juos traktuos kaip character, ne factor
  2. Neteisingai nurodyti lygius - tai gali pakeisti bazinę kategoriją regresijoje
  3. Naudoti skaičius kategoriniams kintamiesiems - tai gali sukelti klaidų interpretacijoje

Praktinis pavyzdys

library(ggplot2)

# Sukuriame duomenis su teisingai koduotais kintamaisiais
apklausa <- data.frame(
  amzius = sample(18:65, 100, replace = TRUE),
  pasitenkinimas = factor(
    sample(1:5, 100, replace = TRUE),
    levels = 1:5,
    labels = c("Labai nepatenkintas", "Nepatenkintas", "Neutralus", 
               "Patenkintas", "Labai patenkintas"),
    ordered = TRUE
  )
)

ggplot(apklausa, aes(x = pasitenkinimas)) +
  geom_bar(fill = "#4F46E5") +
  labs(title = "Pasitenkinimo pasiskirstymas", x = "", y = "Skaičius") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Reikia pagalbos su savo duomenimis?

Padėsiu pasirinkti tinkamą metodą, atlikti analizę ir aiškiai pateikti rezultatus — verslo sprendimui ar publikacijai. Pirmas pokalbis nemokamas.

Susisiekti Išbandyti nemokamą analizę

© 2026 Statistikas.lt · Paulius Alaburda

  • Paslaugos

  • Pavyzdžiai

  • Straipsniai

  • Nemokama analizė

  • Apie

  • info@statistikas.lt