Social support and sports social behavior

Author

Emma Dulovičová

Published

October 19, 2026

1 Predstavenie projektu

1.1 Téma projektu a motivácia

Štúdia sa zaoberá vzťahom medzi vnímanou sociálnou podporou a správaním vysokoškolských študentov v športe, pričom skúma aj úlohu sociálnej úzkosti a psychickej odolnosti. Na základe dotazníkových údajov od 1 157 vysokoškolských študentov analyzuje, či sociálna podpora súvisí s prosociálnym správaním, teda pomáhaním a spoluprácou, a s antisociálnym správaním, napríklad s konaním namiereným proti ostatným.

Túto tému som si vybrala aj z osobného záujmu, pretože sa momentálne pripravujem na svoj prvý polmaratón a behanie sa stalo neoddeliteľnou súčasťou môjho života. Zaujíma ma preto nielen fyzická stránka športu, ale aj to, ako môžu sociálne vzťahy, podpora okolia a psychická odolnosť súvisieť so správaním a športovými aktivitami.

1.2 Ciele projektu

Cieľom projektu je analyzovať dostupné údaje o sociálnej podpore a správaní vysokoškolských študentov v športe pomocou štatistických metód v prostredí R. Na základe vytvorených tabuliek, grafov a základných štatistických ukazovateľov sa projekt zameria na preskúmanie súvislostí medzi sociálnou podporou, prosociálnym a antisociálnym správaním a na prehľadné vizuálne znázornenie získaných výsledkov.

Dáta pre analýzu budú získané z databázy Na analýzu budem využívať databázu vo formáte Excel, ktorú som stiahla z platformy Mendeley Data spolu s podkladmi k vybranej štúdii. Databáza je dostupná na nasledujúcom odkaze: https://data.mendeley.com/datasets/4b84p34g9d/2. Údaje importujem do prostredia R, skontrolujem ich štruktúru a prípadné chýbajúce hodnoty a následne vytvorím základné štatistické prehľady a grafické vizualizácie.

“Running is alone time that lets my brain unspool.” – Rob Haneisen

2 Údaje a databáza

Import údajov

library(readxl)
library(dplyr)

Attaching package: 'dplyr'
The following objects are masked from 'package:stats':

    filter, lag
The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union
library(janitor)

Attaching package: 'janitor'
The following objects are masked from 'package:stats':

    chisq.test, fisher.test
library(knitr)
library(kableExtra)

Attaching package: 'kableExtra'
The following object is masked from 'package:dplyr':

    group_rows
library(ggplot2)

# Import Excel databázy
udaje <- read_excel("data/data.xlsx")

# Úprava názvov stĺpcov
udaje <- udaje %>%
  clean_names()

# Základná kontrola databázy
head(udaje)
# A tibble: 6 × 9
     no sex   year      age psychological_resili…¹ social_anxiety social_support
  <dbl> <chr> <chr>   <dbl>                  <dbl>          <dbl>          <dbl>
1     1 Male  First-…    19                    106             58             77
2     2 Male  First-…    19                    105             58             77
3     3 Male  First-…    19                    106             58             77
4     4 Male  First-…    19                    106             58             77
5     5 Male  Second…    20                    105             58             77
6     6 Male  First-…    19                    106             58             77
# ℹ abbreviated name: ¹​psychological_resilienc
# ℹ 2 more variables: prosocial_behavior_in_sport <dbl>,
#   antisocial_behavior_in_sport <dbl>
names(udaje)
[1] "no"                           "sex"                         
[3] "year"                         "age"                         
[5] "psychological_resilienc"      "social_anxiety"              
[7] "social_support"               "prosocial_behavior_in_sport" 
[9] "antisocial_behavior_in_sport"
str(udaje)
tibble [1,157 × 9] (S3: tbl_df/tbl/data.frame)
 $ no                          : num [1:1157] 1 2 3 4 5 6 7 8 9 10 ...
 $ sex                         : chr [1:1157] "Male" "Male" "Male" "Male" ...
 $ year                        : chr [1:1157] "First-year" "First-year" "First-year" "First-year" ...
 $ age                         : num [1:1157] 19 19 19 19 20 19 19 19 19 19 ...
 $ psychological_resilienc     : num [1:1157] 106 105 106 106 105 106 104 104 104 104 ...
 $ social_anxiety              : num [1:1157] 58 58 58 58 58 58 56 56 56 56 ...
 $ social_support              : num [1:1157] 77 77 77 77 77 77 76 76 76 76 ...
 $ prosocial_behavior_in_sport : num [1:1157] 34 27 33 33 33 33 34 33 34 31 ...
 $ antisocial_behavior_in_sport: num [1:1157] 61 67 61 61 67 61 64 64 64 64 ...
# Počet riadkov a stĺpcov
dim(udaje)
[1] 1157    9

Kontrola chýbajúcich hodnôt

Tabuľka poskytuje prehľad o počte chýbajúcich hodnôt v jednotlivých premenných, vďaka čomu môžeme jednoducho identifikovať, ktoré údaje sú neúplné a vyžadujú si ďalšiu kontrolu.

# Vytvorenie prehľadu chýbajúcich hodnôt
chybanie <- data.frame(
  Premenna = names(udaje),
  Pocet_chybajucich = colSums(is.na(udaje))
)

# Zoradenie od najväčšieho počtu chýbajúcich hodnôt
chybanie <- chybanie %>%
  arrange(desc(Pocet_chybajucich))

# Farebne upravená tabuľka
kable(
  chybanie,
  caption = "Prehľad chýbajúcich hodnôt v databáze",
  col.names = c("Premenná", "Počet chýbajúcich hodnôt"),
  digits = 0
) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    full_width = FALSE
  ) %>%
  row_spec(0, bold = TRUE, background = "#DCE6F1") %>%
  column_spec(2, bold = TRUE)
Prehľad chýbajúcich hodnôt v databáze
Premenná Počet chýbajúcich hodnôt
no no 0
sex sex 0
year year 0
age age 0
psychological_resilienc psychological_resilienc 0
social_anxiety social_anxiety 0
social_support social_support 0
prosocial_behavior_in_sport prosocial_behavior_in_sport 0
antisocial_behavior_in_sport antisocial_behavior_in_sport 0

Graf chýbajúcich hodnôt

Graficky znázornenie umožňuje rýchlejšie porovnať počet chýbajúcich hodnôt medzi jednotlivými premennými a prehľadnejšie posúdiť kvalitu databázy pred samotnou štatistickou analýzou.

ggplot(
  chybanie,
  aes(
    x = reorder(Premenna, Pocet_chybajucich),
    y = Pocet_chybajucich
  )
) +
  geom_col(fill = "#6482AD", width = 0.7) +
  coord_flip() +
  labs(
    title = "Chýbajúce hodnoty v databáze",
    subtitle = "Počet nevyplnených údajov podľa premennej",
    x = "Premenná",
    y = "Počet chýbajúcich hodnôt"
  ) +
  theme_minimal(base_size = 12) +
  theme(
    plot.title = element_text(face = "bold", size = 15),
    plot.subtitle = element_text(color = "grey40"),
    panel.grid.minor = element_blank()
  )