1 1. Wprowadzenie

1.1 Teoretyczne podstawy uzależnienia od mediów społecznościowych

Uzależnienie od mediów społecznościowych stanowi współczesne wyzwanie w kontekście zdrowia psychicznego i społecznego młodych dorosłych. Zgodnie z koncepcjami psychologicznymi, uzależnienie cyfrowe można rozumieć jako kompulsywne zachowanie, charakteryzujące się utratą kontroli nad czasem spędzonym online, negatywnymi konsekwencjami dla codziennego funkcjonowania oraz trudnościami w ograniczeniu użytkowania. W literaturze przedmiotu podkreśla się, że nadmierne korzystanie z platform społecznościowych może prowadzić do izolacji społecznej, obniżonego samopoczucia oraz problemów z koncentracją. Badania wskazują na związek między czasem online a deficytami snu, zdrowiem psychicznym oraz wynikami edukacyjnymi, co postaramy się zbadać w niniejszym projekcie.

1.2 Cel i zakres analizy

Celem niniejszego projektu jest zbadanie relacji między sposobem korzystania z mediów społecznościowych a subiektywnym dobrostanem studentów. W dobie powszechnej cyfryzacji, zrozumienie cyfrowych nawyków młodych dorosłych staje się kluczowe dla identyfikacji potencjalnych ryzyk związanych z nadużywaniem technologii. W badaniu koncentrujemy się na weryfikacji, czy czas spędzany online oraz rodzaj wybieranej platformy współwystępują z niższą oceną zdrowia psychicznego, gorszą jakością snu oraz poczuciem uzależnienia.

1.3 Charakterystyka danych

Analiza została przeprowadzona na zbiorze danych obejmującym 705 obserwacji. Dane mają charakter deklaratywny i zostały zebrane metodą ankietową. Zmienne wykorzystane w badaniu obejmują:

Zmienne demograficzne: - Wiek - Płeć - Poziom studiów

Zmienne behawioralne: - Avg_Daily_Usage_Hours (Czas_h): Średnia liczba godzin spędzanych dziennie w mediach społecznościowych. - Most_Used_Platform (Platforma): Najczęściej wybierana aplikacja społecznościowa. - Conflicts_Over_Social_Media (Konflikty): Liczba sytuacji konfliktowych z otoczeniem, których źródłem było korzystanie z mediów społecznościowych.

Zmienne dobrostanu: - Mental_Health_Score (Zdrowie_psychiczne): Subiektywna ocena własnego zdrowia psychicznego w skali 1-10 (gdzie 10 oznacza samopoczucie doskonałe). - Addicted_Score (Wynik_uzaleznienia): Subiektywna ocena stopnia uzależnienia od mediów w skali 1-5. - Sleep_Hours_Per_Night (Godziny_snu): Deklarowana średnia długość snu.

Pytania badawcze: 1. Czy istnieje istotna statystycznie zależność między czasem spędzanym w mediach społecznościowych a subiektywną oceną zdrowia psychicznego? 2. Czy płeć różnicuje poziom uzależnienia od mediów społecznościowych oraz preferencje dotyczące wyboru platformy? 3. Czy studenci na niższych szczeblach edukacji (High School) wykazują wyższy poziom uzależnienia niż studenci studiów magisterskich (Academic_level)? 4. W jakim stopniu deficyt snu jest powiązany z intensywnością korzystania z social mediów? 5. Czy wyższy poziom uzależnienia od mediów społecznościowych wiąże się z częstszym deklarowaniem negatywnego wpływu tych mediów na wyniki w nauce? 6. Czy osoby deklarujące negatywny wpływ mediów społecznościowych na wyniki w nauce charakteryzują się wyższym poziomem uzależnienia? Które grupy wiekowe są najbardziej zagrożone tym zjawiskiem?

1.4 Przygotowanie środowiska

Do przetwarzania i wizualizacji danych wykorzystano środowisko R oraz następujące biblioteki:

# Konfiguracja osobistej biblioteki pakietów 
install_if_needed <- function(pkg) {
  if (!requireNamespace(pkg, quietly = TRUE)) {
    install.packages(pkg, dependencies = TRUE)
  }
  library(pkg, character.only = TRUE)
}
# Pakiety używane w dokumencie
pkgs <- c(
  "tidyverse",
  "corrplot",
  "knitr",
  "kableExtra",
  "ggthemes",
  "summarytools",
  "psych",
  "classInt",
  "ggpubr",
  "frequency",
  "ggstatsplot",
  "FSA",
  "nortest"
)

# Instalacja i załadowanie wszystkich pakietów
invisible(lapply(pkgs, install_if_needed))

# Ustawienie estetyki wykresów
theme_set(theme_minimal())
# Wczytanie danych
dane <- read_csv("Students Social Media Addiction.csv")

# Podstawowy przegląd
glimpse(dane)
## Rows: 705
## Columns: 13
## $ Student_ID                   <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13…
## $ Age                          <dbl> 19, 22, 20, 18, 21, 19, 23, 20, 18, 21, 1…
## $ Gender                       <chr> "Female", "Male", "Female", "Male", "Male…
## $ Academic_Level               <chr> "Undergraduate", "Graduate", "Undergradua…
## $ Country                      <chr> "Bangladesh", "India", "USA", "UK", "Cana…
## $ Avg_Daily_Usage_Hours        <dbl> 5.2, 2.1, 6.0, 3.0, 4.5, 7.2, 1.5, 5.8, 4…
## $ Most_Used_Platform           <chr> "Instagram", "Twitter", "TikTok", "YouTub…
## $ Affects_Academic_Performance <chr> "Yes", "No", "Yes", "No", "Yes", "Yes", "…
## $ Sleep_Hours_Per_Night        <dbl> 6.5, 7.5, 5.0, 7.0, 6.0, 4.5, 8.0, 6.0, 6…
## $ Mental_Health_Score          <dbl> 6, 8, 5, 7, 6, 4, 9, 6, 7, 7, 5, 6, 8, 5,…
## $ Relationship_Status          <chr> "In Relationship", "Single", "Complicated…
## $ Conflicts_Over_Social_Media  <dbl> 3, 0, 4, 1, 2, 5, 0, 2, 1, 1, 3, 2, 1, 4,…
## $ Addicted_Score               <dbl> 8, 3, 9, 4, 7, 9, 2, 8, 5, 4, 7, 8, 4, 9,…

2 2. Przygotowanie danych

2.1 Sprawdzenie kompletności danych

# Sprawdzenie brakujących wartości w każdej kolumnie
braki <- dane %>%
  summarise(across(everything(), ~sum(is.na(.))))

# Wyświetlenie tabeli braków
braki %>%
  pivot_longer(cols = everything(), names_to = "Zmienna", values_to = "Liczba_braków") %>%
  kbl(caption = "Liczba braków danych w poszczególnych kolumnach") %>%
  kable_styling(full_width = FALSE, font_size = 10, bootstrap_options = c("striped", "hover", "condensed")) %>%
  row_spec(0, bold = TRUE, font_size = 12) %>%
  scroll_box(
    width = "60%",
    height = "250px"
  )
Liczba braków danych w poszczególnych kolumnach
Zmienna Liczba_braków
Student_ID 0
Age 0
Gender 0
Academic_Level 0
Country 0
Avg_Daily_Usage_Hours 0
Most_Used_Platform 0
Affects_Academic_Performance 0
Sleep_Hours_Per_Night 0
Mental_Health_Score 0
Relationship_Status 0
Conflicts_Over_Social_Media 0
Addicted_Score 0
# Całkowita liczba braków w zbiorze
suma_brakow <- sum(is.na(dane))
procent_brakow <- (suma_brakow / (nrow(dane) * ncol(dane))) * 100

2.2 Transformacja i tłumaczenie

dane_clean <- dane %>%
  rename(
    ID = Student_ID,
    Wiek = Age,
    Plec = Gender,
    Poziom_akademicki = Academic_Level,
    Kraj = Country,
    Sredni_Czas_Użytkowania = Avg_Daily_Usage_Hours,
    Najczęściej_używana_platforma = Most_Used_Platform,
    Wplyw_na_wyniki = Affects_Academic_Performance,
    Godziny_snu = Sleep_Hours_Per_Night,
    Ocena_zdrowia_psychicznego = Mental_Health_Score,
    Konflikty_w_social_mediach = Conflicts_Over_Social_Media,
    Wynik_uzaleznienia = Addicted_Score
  ) %>%
  mutate(
    # Konwersja na faktory
    f.Plec = as.factor(Plec),
    f.Platforma = as.factor(Najczęściej_używana_platforma), # Poprawione odwołanie do nowej nazwy
    f.Wplyw_na_wyniki = as.factor(Wplyw_na_wyniki),
    
    # Grupy użytkowników (Feature Engineering)
    Grupa_Czasu_Uzytkowania = case_when(
      Sredni_Czas_Użytkowania <= 2 ~ "Niski (0-2h)", # Poprawione odwołanie do nowej nazwy
      Sredni_Czas_Użytkowania <= 5 ~ "Średni (2-5h)",
      TRUE ~ "Wysoki (>5h)"
    ),
    f.Grupa_Czasu_Uzytkowania = factor(Grupa_Czasu_Uzytkowania, 
                                       levels = c("Niski (0-2h)", "Średni (2-5h)", "Wysoki (>5h)")),
    
    # Deficyt snu
    Deficyt_snu = 7 - Godziny_snu
  )

# Podgląd przetworzonych danych
head(dane_clean) %>%
  kbl(caption = "Fragment przetworzonego zbioru danych") %>%
  kable_styling(
    full_width = FALSE,
    position = "center",
    font_size = 10,
    bootstrap_options = c("striped", "hover", "condensed")
  ) %>%
  row_spec(0, bold = TRUE, font_size = 12) %>%
  scroll_box(
    width = "80%",
    height = "300px"
  )
Fragment przetworzonego zbioru danych
ID Wiek Plec Poziom_akademicki Kraj Sredni_Czas_Użytkowania Najczęściej_używana_platforma Wplyw_na_wyniki Godziny_snu Ocena_zdrowia_psychicznego Relationship_Status Konflikty_w_social_mediach Wynik_uzaleznienia f.Plec f.Platforma f.Wplyw_na_wyniki Grupa_Czasu_Uzytkowania f.Grupa_Czasu_Uzytkowania Deficyt_snu
1 19 Female Undergraduate Bangladesh 5.2 Instagram Yes 6.5 6 In Relationship 3 8 Female Instagram Yes Wysoki (>5h) Wysoki (>5h) 0.5
2 22 Male Graduate India 2.1 Twitter No 7.5 8 Single 0 3 Male Twitter No Średni (2-5h) Średni (2-5h) -0.5
3 20 Female Undergraduate USA 6.0 TikTok Yes 5.0 5 Complicated 4 9 Female TikTok Yes Wysoki (>5h) Wysoki (>5h) 2.0
4 18 Male High School UK 3.0 YouTube No 7.0 7 Single 1 4 Male YouTube No Średni (2-5h) Średni (2-5h) 0.0
5 21 Male Graduate Canada 4.5 Facebook Yes 6.0 6 In Relationship 2 7 Male Facebook Yes Średni (2-5h) Średni (2-5h) 1.0
6 19 Female Undergraduate Australia 7.2 Instagram Yes 4.5 4 Complicated 5 9 Female Instagram Yes Wysoki (>5h) Wysoki (>5h) 2.5

2.3 Walidacja spójności logicznej

# Definicja kryteriów i zliczanie przypadków
wyniki_weryfikacji <- dane_clean %>%
  summarise(
    `Ocena zdrowia = 10 przy śnie < 4h` = sum(Ocena_zdrowia_psychicznego == 10 & Godziny_snu < 4, na.rm = TRUE),
    `Suma czasu (Media + Sen) > 22h` = sum(Sredni_Czas_Użytkowania + Godziny_snu > 22, na.rm = TRUE),
    `Wiek < 18 lat na poziomie Graduate` = sum(Wiek < 18 & Poziom_akademicki == "Graduate", na.rm = TRUE),
    `Maksymalne uzależnienie (10) bez wpływu na naukę` = sum(Wynik_uzaleznienia == 10 & Wplyw_na_wyniki == "No", na.rm = TRUE),
    `Maksymalne uzależnienie (10) bez konfliktów` = sum(Wynik_uzaleznienia == 10 & Konflikty_w_social_mediach == 0, na.rm = TRUE)
  ) %>%
  pivot_longer(cols = everything(), names_to = "Kryterium weryfikacji", values_to = "Liczba przypadków")

# Uzasadnienie
tabela_opisowa <- tibble(
  `Kryterium weryfikacji` = c(
    "Ocena zdrowia = 10 przy śnie < 4h",
    "Suma czasu (Media + Sen) > 22h",
    "Wiek < 18 lat na poziomie Graduate",
    "Maksymalne uzależnienie (10) bez wpływu na naukę",
    "Maksymalne uzależnienie (10) bez konfliktów"
  ),
  `Dlaczego to sprawdzamy?` = c(
    "Biologicznie trudne do utrzymania.",
    "Brak czasu na fizjologiczne potrzeby i naukę.",
    "Mało prawdopodobne osiągnięcie poziomu magisterskiego przed 18 r.ż.",
    "Skrajne uzależnienie zazwyczaj wpływa na wyniki.",
    "Silne uzależnienie zazwyczaj generuje spory z otoczeniem."
  )
)

# Połączenie i wyświetlenie tabeli
left_join(tabela_opisowa, wyniki_weryfikacji, by = "Kryterium weryfikacji") %>%
  kbl(caption = "Zestawienie potencjalnych niespójności w danych") %>%
  kable_styling(full_width = F, font_size = 10, bootstrap_options = c("striped", "hover")) %>%
  column_spec(3, bold = TRUE, color = ifelse(wyniki_weryfikacji$`Liczba przypadków` > 0, "red", "green")) %>%
  scroll_box(
    width = "80%",
    height = "300px"
  )
Zestawienie potencjalnych niespójności w danych
Kryterium weryfikacji Dlaczego to sprawdzamy? Liczba przypadków
Ocena zdrowia = 10 przy śnie < 4h Biologicznie trudne do utrzymania. 0
Suma czasu (Media + Sen) > 22h Brak czasu na fizjologiczne potrzeby i naukę. 0
Wiek < 18 lat na poziomie Graduate Mało prawdopodobne osiągnięcie poziomu magisterskiego przed 18 r.ż. 0
Maksymalne uzależnienie (10) bez wpływu na naukę Skrajne uzależnienie zazwyczaj wpływa na wyniki. 0
Maksymalne uzależnienie (10) bez konfliktów Silne uzależnienie zazwyczaj generuje spory z otoczeniem. 0

2.4 Podsumowanie przygotowania danych

W rozdziale 2 skupiono się na przygotowaniu danych do analizy. Weryfikacja kompletności danych wykazała brak braków danych we wszystkich kolumnach, co pozwoliło na dalsze przetwarzanie bez konieczności imputacji. Następnie przeprowadzono transformację danych, obejmującą: 1. Tłumaczenie nazw zmiennych na język polski dla lepszej czytelności 2. Konwersję zmiennych na odpowiednie typy (np. faktory dla zmiennych kategorycznych) 3. Inżynierię cech, taką jak utworzenie grup czasowych użytkowania mediów oraz obliczenie deficytu snu.

Dodatkowo, zweryfikowano spójność logiczną danych poprzez sprawdzenie potencjalnych niespójności, takich jak biologicznie niemożliwe kombinacje (np. doskonałe zdrowie przy minimalnym śnie), co pomogło nam potwierdzić jakość zbioru danych. Wszystkie przekształcenia miały na celu ułatwienie analizy, zapewnienie poprawności typów danych oraz przygotowanie zmiennych do dalszych etapów badania.

3 3. Eksploracja danych

W rozdziale przedstawiono strukturę próby i rozkłady podstawowych zmiennych. Materiał ma charakter eksploracyjny, służy identyfikacji wstępnych wzorców przed analizami wnioskowania.

3.1 Charakterystyka próby

3.1.1 Struktura demograficzna

# Przygotowanie danych
dane$Gender <- as.factor(dane$Gender)
dane$Academic_Level <- factor(dane$Academic_Level, 
                             levels = c("High School", "Undergraduate", "Graduate"), 
                              ordered = TRUE)
dane$Most_Used_Platform <- as.factor(dane$Most_Used_Platform)
dane$Affects_Academic_Performance <- as.factor(dane$Affects_Academic_Performance)

# Tabela liczebności i procentów dla zmiennych demograficznych
demografia <- dane_clean %>%
  select(Plec, Poziom_akademicki, Kraj) %>%
  pivot_longer(cols = everything(), names_to = "Zmienna", values_to = "Kategoria") %>%
  count(Zmienna, Kategoria) %>%
  group_by(Zmienna) %>%
  mutate(Procent = round(n / sum(n) * 100, 1)) %>%
  ungroup() %>%
  arrange(Zmienna, desc(n))

demografia %>%
  kbl(caption = "Struktura demograficzna próby", 
      col.names = c("Zmienna", "Kategoria", "Liczebność (n)", "Udział (%)")) %>%
  kable_styling(full_width = FALSE, position = "center", bootstrap_options = c("striped", "hover")) %>%
  row_spec(0, bold = TRUE, font_size = 12) %>%
  scroll_box(width = "80%", height = "400px")
Struktura demograficzna próby
Zmienna Kategoria Liczebność (n) Udział (%)
Kraj India 53 7.5
Kraj USA 40 5.7
Kraj Canada 34 4.8
Kraj Denmark 27 3.8
Kraj France 27 3.8
Kraj Ireland 27 3.8
Kraj Mexico 27 3.8
Kraj Spain 27 3.8
Kraj Switzerland 27 3.8
Kraj Turkey 27 3.8
Kraj UK 22 3.1
Kraj Italy 21 3.0
Kraj Japan 21 3.0
Kraj Russia 21 3.0
Kraj Bangladesh 20 2.8
Kraj Maldives 19 2.7
Kraj Nepal 19 2.7
Kraj Pakistan 19 2.7
Kraj Sri Lanka 19 2.7
Kraj China 16 2.3
Kraj Poland 16 2.3
Kraj Australia 14 2.0
Kraj Germany 14 2.0
Kraj South Korea 13 1.8
Kraj Brazil 8 1.1
Kraj Finland 8 1.1
Kraj Malaysia 8 1.1
Kraj Netherlands 8 1.1
Kraj New Zealand 8 1.1
Kraj Singapore 8 1.1
Kraj UAE 8 1.1
Kraj Afghanistan 1 0.1
Kraj Albania 1 0.1
Kraj Andorra 1 0.1
Kraj Argentina 1 0.1
Kraj Armenia 1 0.1
Kraj Austria 1 0.1
Kraj Azerbaijan 1 0.1
Kraj Bahamas 1 0.1
Kraj Bahrain 1 0.1
Kraj Belarus 1 0.1
Kraj Belgium 1 0.1
Kraj Bhutan 1 0.1
Kraj Bolivia 1 0.1
Kraj Bosnia 1 0.1
Kraj Bulgaria 1 0.1
Kraj Chile 1 0.1
Kraj Colombia 1 0.1
Kraj Costa Rica 1 0.1
Kraj Croatia 1 0.1
Kraj Cyprus 1 0.1
Kraj Czech Republic 1 0.1
Kraj Ecuador 1 0.1
Kraj Egypt 1 0.1
Kraj Estonia 1 0.1
Kraj Georgia 1 0.1
Kraj Ghana 1 0.1
Kraj Greece 1 0.1
Kraj Hong Kong 1 0.1
Kraj Hungary 1 0.1
Kraj Iceland 1 0.1
Kraj Indonesia 1 0.1
Kraj Iraq 1 0.1
Kraj Israel 1 0.1
Kraj Jamaica 1 0.1
Kraj Jordan 1 0.1
Kraj Kazakhstan 1 0.1
Kraj Kenya 1 0.1
Kraj Kosovo 1 0.1
Kraj Kuwait 1 0.1
Kraj Kyrgyzstan 1 0.1
Kraj Latvia 1 0.1
Kraj Lebanon 1 0.1
Kraj Liechtenstein 1 0.1
Kraj Lithuania 1 0.1
Kraj Luxembourg 1 0.1
Kraj Malta 1 0.1
Kraj Moldova 1 0.1
Kraj Monaco 1 0.1
Kraj Montenegro 1 0.1
Kraj Morocco 1 0.1
Kraj Nigeria 1 0.1
Kraj North Macedonia 1 0.1
Kraj Norway 1 0.1
Kraj Oman 1 0.1
Kraj Panama 1 0.1
Kraj Paraguay 1 0.1
Kraj Peru 1 0.1
Kraj Philippines 1 0.1
Kraj Portugal 1 0.1
Kraj Qatar 1 0.1
Kraj Romania 1 0.1
Kraj San Marino 1 0.1
Kraj Serbia 1 0.1
Kraj Slovakia 1 0.1
Kraj Slovenia 1 0.1
Kraj South Africa 1 0.1
Kraj Sweden 1 0.1
Kraj Syria 1 0.1
Kraj Taiwan 1 0.1
Kraj Tajikistan 1 0.1
Kraj Thailand 1 0.1
Kraj Trinidad 1 0.1
Kraj Ukraine 1 0.1
Kraj Uruguay 1 0.1
Kraj Uzbekistan 1 0.1
Kraj Vatican City 1 0.1
Kraj Venezuela 1 0.1
Kraj Vietnam 1 0.1
Kraj Yemen 1 0.1
Plec Female 353 50.1
Plec Male 352 49.9
Poziom_akademicki Undergraduate 353 50.1
Poziom_akademicki Graduate 325 46.1
Poziom_akademicki High School 27 3.8

Najwięcej danych pochodzi z Indii (7,5% próby). Następna najliczniejsza grupa pochodzi z USA (ponad 5%).

3.1.2 Podstawowe statystyki zmiennych ciągłych

# Wybór zmiennych numerycznych i obliczenie statystyk
dane_clean %>%
  select(Wiek, Sredni_Czas_Użytkowania, Godziny_snu, Ocena_zdrowia_psychicznego, Wynik_uzaleznienia) %>%
  summary()
##       Wiek       Sredni_Czas_Użytkowania  Godziny_snu   
##  Min.   :18.00   Min.   :1.500           Min.   :3.800  
##  1st Qu.:19.00   1st Qu.:4.100           1st Qu.:6.000  
##  Median :21.00   Median :4.800           Median :6.900  
##  Mean   :20.66   Mean   :4.919           Mean   :6.869  
##  3rd Qu.:22.00   3rd Qu.:5.800           3rd Qu.:7.700  
##  Max.   :24.00   Max.   :8.500           Max.   :9.600  
##  Ocena_zdrowia_psychicznego Wynik_uzaleznienia
##  Min.   :4.000              Min.   :2.000     
##  1st Qu.:5.000              1st Qu.:5.000     
##  Median :6.000              Median :7.000     
##  Mean   :6.227              Mean   :6.437     
##  3rd Qu.:7.000              3rd Qu.:8.000     
##  Max.   :9.000              Max.   :9.000

Próba obejmuje osoby w wieku od 18 do 24 lat, przy czym średni wiek wynosi około 20,7 roku, a mediana 21 lat. Średni czas użytkowania wynosi niespełna 5 jednostek, przy umiarkowanym zróżnicowaniu obserwacji. Badani śpią przeciętnie około 6,9 godziny na dobę, a połowa próby mieści się w przedziale od 6 do 7,7 godziny snu. Samoocena zdrowia psychicznego kształtuje się na umiarkowanie dobrym poziomie, ze średnią równą 6,2 i medianą 6 punktów. Wynik uzależnienia ma średnią wartość około 6,4, co wskazuje na przeciętny poziom nasilenia tego zjawiska w badanej grupie.

3.2 Analiza czasu użytkowania mediów społecznościowych

3.2.1 Statystyki czasu użytkowania

# Szczegółowe miary położenia dla czasu
dane_clean %>%
  summarise(
    Srednia = mean(Sredni_Czas_Użytkowania),
    Mediana = median(Sredni_Czas_Użytkowania),
    Odchylenie_Std = sd(Sredni_Czas_Użytkowania),
    Min = min(Sredni_Czas_Użytkowania),
    Max = max(Sredni_Czas_Użytkowania),
    Q1 = quantile(Sredni_Czas_Użytkowania, 0.25),
    Q3 = quantile(Sredni_Czas_Użytkowania, 0.75)
  ) %>%
  kbl(caption = "Charakterystyki opisowe czasu użytkowania mediów społecznościowych", digits = 2) %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover")) %>%
  row_spec(0, bold = TRUE, font_size = 12)
Charakterystyki opisowe czasu użytkowania mediów społecznościowych
Srednia Mediana Odchylenie_Std Min Max Q1 Q3
4.92 4.8 1.26 1.5 8.5 4.1 5.8
ggdensity(dane, x = "Avg_Daily_Usage_Hours", fill = "orange", alpha = 0.4) +
   labs(title = "Gęstość rozkładu dziennego czasu użytkowania", x = "Godziny na dobę")

Średnia długość użytkowania wynosi 4,92, a odchylenie standardowe 1,26. Połowa studentów spędza czas w mediach społecznościowych od 4,1 do 5,8 godziny dziennie.

3.2.2 Rozkład czasu według kategorii

# Analiza stworzonych grup (Niski/Średni/Wysoki)
dane_grupy <- dane_clean %>%
 count(f.Grupa_Czasu_Uzytkowania) %>%
   mutate(Udzial_procentowy = round(n / sum(n) * 100, 2))
dane_grupy %>%
  kbl(caption = "Struktura badanej próby według grup czasu użytkowania", 
      col.names = c("Grupa czasu", "Liczebność (n)", "Udział (%)")) %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover")) %>%
  row_spec(0, bold = TRUE, font_size = 12)
Struktura badanej próby według grup czasu użytkowania
Grupa czasu Liczebność (n) Udział (%)
Niski (0-2h) 2 0.28
Średni (2-5h) 409 58.01
Wysoki (>5h) 294 41.70

Większość studentów zalicza się do grupy ze średnim czasem użytkowania, czyli 2-5 godzin dziennie, jednak dużo liczniejsza jest grupa z wynikiem “wysoki” niż z wynikiem “niski”.

3.2.3 Najpopularniejsze platformy

# Ranking platform
dane_clean %>%
  count(Najczęściej_używana_platforma) %>%
  arrange(desc(n)) %>%
  mutate(Procent = round(n / sum(n) * 100, 1))%>%
  kbl(caption = "Ranking najczęściej używanych platform mediów społecznościowych",
      col.names = c("Platforma", "Liczba użytkowników (n)", "Udział (%)")) %>%
  kable_styling(
    full_width = FALSE,
    bootstrap_options = c("striped", "hover")
  ) %>%
  row_spec(0, bold = TRUE, font_size = 12) %>%
  scroll_box(
    width = "70%",
    height = "350px"
  )
Ranking najczęściej używanych platform mediów społecznościowych
Platforma Liczba użytkowników (n) Udział (%)
Instagram 249 35.3
TikTok 154 21.8
Facebook 123 17.4
WhatsApp 54 7.7
Twitter 30 4.3
LinkedIn 21 3.0
WeChat 15 2.1
Snapchat 13 1.8
KakaoTalk 12 1.7
LINE 12 1.7
VKontakte 12 1.7
YouTube 10 1.4

Najpopularniejszą platformą jest Instagram, z którego korzysta 35,3% studentów w próbie, następnie TikTok (21,8%) i Facebook (17,4%).

3.3 Analiza poziomu uzależnienia

3.3.1 Rozkład wyniku uzależnienia

# Statystyki dla Wynik_uzaleznienia
dane_clean %>%
  summarise(
    Srednia_Uzaleznienie = mean(Wynik_uzaleznienia),
    Mediana = median(Wynik_uzaleznienia),
    SD = sd(Wynik_uzaleznienia)
  )%>%
  kbl(caption = "Statystyki opisowe poziomu uzależnienia studentów",
      col.names = c("Średnia", "Mediana", "Odchylenie standardowe"),
      digits = 2) %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover")) %>%
  row_spec(0, bold = TRUE, font_size = 12)
Statystyki opisowe poziomu uzależnienia studentów
Średnia Mediana Odchylenie standardowe
6.44 7 1.59

Średni poziom uzależnienia wynosi 6,44, a odchylenie wynosi 1,59.

3.3.2 Poziomy uzależnienia według kategorii

# Tworzymy proste kategorie uzależnienia do tabeli
dane_clean %>%
  mutate(Kat_Uzaleznienia = case_when(
    Wynik_uzaleznienia <= 3 ~ "Niskie",
    Wynik_uzaleznienia <= 7 ~ "Umiarkowane",
    TRUE ~ "Wysokie"
  )) %>%
  count(Kat_Uzaleznienia) %>%
  mutate(Procent = round(n / sum(n) * 100, 1)) %>%
  arrange(desc(n))%>%
  kbl(caption = "Liczba studentów według poziomu uzależnienia",
      col.names = c("Kategoria uzależnienia", "Liczebność (n)", "Udział (%)")) %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover")) %>%
  row_spec(0, bold = TRUE, font_size = 12)
Liczba studentów według poziomu uzależnienia
Kategoria uzależnienia Liczebność (n) Udział (%)
Umiarkowane 489 69.4
Wysokie 199 28.2
Niskie 17 2.4

Prawie 70% studentów wykazuje umiarkowany poziom uzależnienia, a niski poziom wykazuje tylko 2,4%, pozostałe 28% wykazuje wysoki poziom uzależnienia.

3.4 Analiza według płci

# Porównanie kobiet i mężczyzn w kluczowych aspektach
dane_clean %>%
  group_by(f.Plec) %>%
  summarise(
    N = n(),
    Sredni_Czas = mean(Sredni_Czas_Użytkowania),
    Srednie_Uzaleznienie = mean(Wynik_uzaleznienia),
    Srednie_Zdrowie = mean(Ocena_zdrowia_psychicznego)
  )%>%
  kbl(caption = "Porównanie wskaźników aktywności i dobrostanu według płci",
      col.names = c("Płeć", "Liczebność (n)", "Śr. czas użytkowania", "Śr. wynik uzależnienia", "Śr. zdrowie psychiczne"),
      digits = 2) %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover", "condensed")) %>%
  row_spec(0, bold = TRUE, font_size = 12)
Porównanie wskaźników aktywności i dobrostanu według płci
Płeć Liczebność (n) Śr. czas użytkowania Śr. wynik uzależnienia Śr. zdrowie psychiczne
Female 353 5.01 6.52 6.18
Male 352 4.83 6.36 6.28

Kobiety cechują się nieznacznie większym średnim czasem w mediach społecznościowych, co też skutkuje większym uzależnieniem, jednak to mężczyźni wykazują gorsze zdrowie psychiczne.

3.5 Analiza według poziomu akademickiego

# Czy poziom edukacyjny ma znaczenie?
dane_clean %>%
  group_by(Poziom_akademicki) %>%
  summarise(
    Sredni_Czas = mean(Sredni_Czas_Użytkowania),
    Sredni_Sen = mean(Godziny_snu),
    Srednie_Uzaleznienie = mean(Wynik_uzaleznienia)
  ) %>%
  arrange(desc(Sredni_Czas))%>%
  kbl(caption = "Charakterystyki aktywności w mediach społecznościowych i dobrostanu według poziomu akademickiego",
      col.names = c("Poziom akademicki", "Śr. czas użytkowania", "Śr. czas snu", "Śr. wynik uzależnienia"),
      digits = 2) %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover")) %>%
  row_spec(0, bold = TRUE, font_size = 12)
Charakterystyki aktywności w mediach społecznościowych i dobrostanu według poziomu akademickiego
Poziom akademicki Śr. czas użytkowania Śr. czas snu Śr. wynik uzależnienia
High School 5.54 5.46 8.04
Undergraduate 5.00 6.83 6.49
Graduate 4.78 7.03 6.24

Studenci “High School” spędzają najwięcej czasu w mediach społecznościowych i wykazują najwyższy poziom uzależnienia, podczas gdy studenci “Graduate” mają najniższe wartości w obu tych aspektach.

3.6 Zdrowie psychiczne i sen

3.6.1 Jakość zdrowia psychicznego

# Podsumowanie oceny zdrowia psychicznego
dane_clean %>%
  summarise(
    Srednia = mean(Ocena_zdrowia_psychicznego),
    Mediana = median(Ocena_zdrowia_psychicznego),
    Najnizsza = min(Ocena_zdrowia_psychicznego),
    Najwyzsza = max(Ocena_zdrowia_psychicznego)
  )%>%
  kbl(caption = "Statystyki opisowe oceny zdrowia psychicznego studentów",
      col.names = c("Średnia ocena", "Mediana", "Ocena minimalna", "Ocena maksymalna"),
      digits = 2) %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover")) %>%
  row_spec(0, bold = TRUE, font_size = 12)
Statystyki opisowe oceny zdrowia psychicznego studentów
Średnia ocena Mediana Ocena minimalna Ocena maksymalna
6.23 6 4 9

Średnia ocena zdrowia psychicznego to 6,23 na 10, z czego najniższa wynosi 4 a najwyższa 9.

3.6.2 Jakość snu

# Analiza snu i deficytów
stats_snu <- dane_clean %>%
  summarise(
    Srednia_Godzin = mean(Godziny_snu),
    Liczba_z_Deficytem = sum(Godziny_snu < 7), # Deficyt poniżej 7h
    Procent_z_Deficytem = mean(Godziny_snu < 7) * 100
  )%>%
  kbl(caption = "Analiza jakości snu",
      col.names = c("Średnia liczba godzin", "Liczba osób z deficytem (<7h)", "Procent osób z deficytem (%)"),
      digits = 2) %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover")) %>%
  row_spec(0, bold = TRUE, font_size = 12)

stats_snu
Analiza jakości snu
Średnia liczba godzin Liczba osób z deficytem (<7h) Procent osób z deficytem (%)
6.87 359 50.92

Średnia długość snu wynosi 6,87 godzin, jednak aż 50% wykazuje deficyt snu , czyli poniżej 7 godzin.

3.7 Wpływ na wyniki akademickie

# Jak studenci oceniają wpływ social mediów na swoje oceny?
dane_clean %>%
  group_by(f.Wplyw_na_wyniki) %>%
  summarise(
    Liczba = n(),
    Sredni_Czas_Uzytkowania = mean(Sredni_Czas_Użytkowania),
    Srednie_Uzaleznienie = mean(Wynik_uzaleznienia)
  ) %>%
  kbl(caption = "Aktywność w mediach społecznościowych a deklarowany wpływ na wyniki w nauce",
      col.names = c("Czy wpływa na wyniki?", "Liczebność (n)", "Śr. czas użytkowania", "Śr. wynik uzależnienia"),
      digits = 2) %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover")) %>%
  row_spec(0, bold = TRUE, font_size = 12)
Aktywność w mediach społecznościowych a deklarowany wpływ na wyniki w nauce
Czy wpływa na wyniki? Liczebność (n) Śr. czas użytkowania Śr. wynik uzależnienia
No 252 3.80 4.60
Yes 453 5.54 7.46

Studenci, którzy twierdzą, że media społecznościowe mają wypływ na ich wyniki w nauce, spędzają średnio o 2 godzin więcej na platformach jak i wykazują większe uzależnienie, niż ci którzy nie wykazali wpływu na naukę

3.8 Konflikty związane z mediami społecznościowymi

dane_clean %>%
  group_by(Konflikty_w_social_mediach) %>%
  summarise(
    Sredni_Wynik_Uzaleznienia = mean(Wynik_uzaleznienia),
    Licznosc = n()
  ) %>%
  kbl(caption = "Związek między konfliktami a średnim poziomem uzależnienia",
      col.names = c("Liczba konfliktów", "Śr. wynik uzależnienia", "Liczebność (n)"),
      digits = 2) %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover", "condensed")) %>%
  row_spec(0, bold = TRUE, font_size = 12)
Związek między konfliktami a średnim poziomem uzależnienia
Liczba konfliktów Śr. wynik uzależnienia Liczebność (n)
0 2.75 4
1 3.85 47
2 4.85 204
3 6.86 261
4 8.22 174
5 9.00 15
kor_konflikty <- cor(dane_clean$Konflikty_w_social_mediach, dane_clean$Wynik_uzaleznienia)

tibble(
  Metryka = "Korelacja Pearsona (konflikty - uzależnienie)",
  Wartość = round(kor_konflikty, 3)
) %>%
  kbl(caption = "Współczynnik korelacji", digits = 3) %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover", "condensed")) %>%
  row_spec(0, bold = TRUE, font_size = 12)
Współczynnik korelacji
Metryka Wartość
Korelacja Pearsona (konflikty - uzależnienie) 0.934

Zachodzi korelacja między wynikiem uzależnienia a występowaniem konfliktów.

3.9 Korelacje między zmiennymi

zmienne_numeryczne <- dane_clean %>%
  select(Wiek, Sredni_Czas_Użytkowania, Godziny_snu, Ocena_zdrowia_psychicznego, 
         Konflikty_w_social_mediach, Wynik_uzaleznienia)

M <- cor(zmienne_numeryczne)

corrplot(M, 
         method = "color",
         type = "upper",
         addCoef.col = "black",
         tl.col = "black",
         tl.srt = 45,
         number.cex = 0.8,
         title = "Macierz korelacji Pearsona",
         mar = c(0, 0, 2, 0))

M %>%
  kbl(caption = "Macierz korelacji Pearsona dla zmiennych ilościowych", digits = 3) %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover", "condensed")) %>%
  row_spec(0, bold = TRUE, font_size = 12)
Macierz korelacji Pearsona dla zmiennych ilościowych
Wiek Sredni_Czas_Użytkowania Godziny_snu Ocena_zdrowia_psychicznego Konflikty_w_social_mediach Wynik_uzaleznienia
Wiek 1.000 -0.114 0.125 0.160 -0.184 -0.166
Sredni_Czas_Użytkowania -0.114 1.000 -0.791 -0.801 0.805 0.832
Godziny_snu 0.125 -0.791 1.000 0.707 -0.677 -0.765
Ocena_zdrowia_psychicznego 0.160 -0.801 0.707 1.000 -0.894 -0.945
Konflikty_w_social_mediach -0.184 0.805 -0.677 -0.894 1.000 0.934
Wynik_uzaleznienia -0.166 0.832 -0.765 -0.945 0.934 1.000
tabela_wiek_kor <- as.data.frame(M[, 1])
tabela_wiek_kor$Zmienna <- rownames(tabela_wiek_kor)
tabela_wiek_kor <- tabela_wiek_kor %>%
  select(Zmienna, everything()) %>%
  rename(Korelacja_z_wiekiem = `M[, 1]`)

tabela_wiek_kor %>%
  kbl(caption = "Korelacja wieku z pozostałymi cechami ilościowymi", digits = 3) %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover", "condensed")) %>%
  row_spec(0, bold = TRUE, font_size = 12)
Korelacja wieku z pozostałymi cechami ilościowymi
Zmienna Korelacja_z_wiekiem
Wiek Wiek 1.000
Sredni_Czas_Użytkowania Sredni_Czas_Użytkowania -0.114
Godziny_snu Godziny_snu 0.125
Ocena_zdrowia_psychicznego Ocena_zdrowia_psychicznego 0.160
Konflikty_w_social_mediach Konflikty_w_social_mediach -0.184
Wynik_uzaleznienia Wynik_uzaleznienia -0.166

Najmniejsze korelacje występują przy zmiennej “wiek”. Najwyższa korelacja zachodzi dla wyniku uzależnienia i występowaniu konfliktów. Mocno na siebie oddziałują również czas użytkowania i ocena zdrowia psychicznego.

4 4. Wizualizacja Danych

“Obraz wart jest więcej niż tysiące słów”… W tej sekcji przedstawiono profesjonalne grafiki programowane przy użyciu pakietu ggplot2, wykorzystującego zasady warstwowego tworzenia wykresów. Wizualizacje służą do graficznej analizy rozkładów zmiennych oraz zależności między nimi, umożliwiając lepsze zrozumienie danych.

4.1 Rozkład czasu spędzanego w mediach społecznościowych

ggplot(dane_clean, aes(x = Sredni_Czas_Użytkowania)) +
  geom_histogram(aes(y = ..density..),
                 binwidth = 1,
                 fill = "steelblue",
                 color = "white",
                 alpha = 0.8) +
  geom_density(color = "red", size = 1) +
  labs(title = "Rozkład czasu spędzanego w mediach społecznościowych",
       x = "Liczba godzin dziennie",
       y = "Gęstość") +
  theme_minimal()

Histogram przedstawia rozkład średniego czasu spędzanego dziennie w mediach społecznościowych. Rozkład jest asymetryczny prawostronnie, z maksimum około 5 godzin. Większość obserwacji koncentruje się w przedziale 4–6 godzin, ale widoczny jest „ogon” dla wartości powyżej 7–8 godzin, wskazujący na intensywnych użytkowników.

4.2 Poziom uzależnienia w zależności od platformy

ggplot(dane_clean, aes(x = f.Platforma, y = Wynik_uzaleznienia, fill = f.Platforma)) +
  geom_boxplot(alpha = 0.7, outlier.colour = "red", outlier.shape = 1) +
  labs(title = "Poziom uzależnienia wg najczęściej używanej platformy",
       x = "Platforma",
       y = "Wynik uzależnienia (1-10)") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1), 
        legend.position = "none")

Wykres pudełkowy pokazuje poziom uzależnienia w zależności od najczęściej używanej platformy. Najwyższe mediany uzależnienia obserwuje się dla WhatsApp, Instagram, Snapchat i TikTok. Dla mniej popularnych platform, takich jak LINE czy VKontakte, dane są mniej liczne.

4.3 Czas użytkowania a zdrowie psychiczne

ggplot(dane_clean, aes(x = Sredni_Czas_Użytkowania, y = Ocena_zdrowia_psychicznego)) +
  geom_jitter(color = "darkgreen", alpha = 0.4, width = 0.2) + 
  geom_smooth(method = "lm", color = "darkred", se = TRUE) +
  labs(title = "Korelacja: Czas użytkowania mediów a ocena zdrowia psychicznego",
       x = "Godziny spędzane dziennie",
       y = "Ocena zdrowia psychicznego (1-10)") +
  theme_minimal()

Wykres punktowy z linią trendu pokazuje ujemną korelację między czasem użytkowania mediów społecznościowych a oceną zdrowia psychicznego. Wraz ze wzrostem godzin online, ocena zdrowia spada.

5 5. Wnioskowanie statystyczne

Przed przystąpieniem do testowania hipotez sprawdzono założenia o normalności rozkładów zmiennych ilościowych w grupach badawczych. Wykorzystano test Shapiro-Wilka. Ze względu na znaczną liczebność próby (N=705) oraz wyniki testów (p < 0.05), odrzucono hipotezę o normalności rozkładów. W związku z tym w dalszej analizie zastosowano testy nieparametryczne.

5.1 Hipoteza 1: Czas użytkowania a zdrowie psychiczne

Pytanie badawcze: Czy istnieje związek pomiędzy ilością czasu spędzanego w mediach społecznościowych a subiektywną oceną zdrowia psychicznego?

Hipotezy:

H_0: Nie ma istotnej korelacji między czasem spędzanym w mediach a oceną zdrowia psychicznego.

H_1: Istnieje istotna statystycznie korelacja między tymi zmiennymi.

Do weryfikacji wykorzystano współczynnik korelacji rang Spearmana.

test_h1 <- cor.test(dane_clean$Sredni_Czas_Użytkowania, 
                    dane_clean$Ocena_zdrowia_psychicznego,
                    method = "spearman")

tibble(
  Statystyka = c("Rho Spearmana", "Wartość p", "N"),
  Wartość = c(round(test_h1$estimate, 3), 
              format.pval(test_h1$p.value, digits = 3),
              nrow(dane_clean))
) %>%
  kbl(caption = "Wyniki testu korelacji rang Spearmana") %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover", "condensed")) %>%
  row_spec(0, bold = TRUE, font_size = 12)
Wyniki testu korelacji rang Spearmana
Statystyka Wartość
Rho Spearmana -0.802
Wartość p <2e-16
N 705
ggplot(dane_clean, aes(x = as.factor(Ocena_zdrowia_psychicznego), y = Sredni_Czas_Użytkowania)) +
  geom_boxplot(fill = "lightblue", alpha = 0.7) +
  geom_jitter(alpha = 0.1, color = "darkblue", width = 0.2) +
  labs(
    title = "Rozkład czasu online w zależności od oceny zdrowia psychicznego",
    x = "Ocena zdrowia psychicznego (1-10)",
    y = "Średni czas użytkowania (h/dzień)"
  ) +
  theme_minimal()

Wnioski Wartość p jest znacznie poniżej progu 0,05, co pozwala na odrzucenie hipotezy zerowej na rzecz hipotezy alternatywnej. Istnieje statystyczna zależność między czasem spędzonym w mediach społecznościowych a oceną zdrowia psychicznego. Współczynnik korelacji rang Spearmana wynosi -0,802, co wskazuje na silną ujemną korelację. Wykres średnich potwierdza ten liniowy trend spadkowy, obrazując wyraźne obniżenie przeciętnej oceny zdrowia psychicznego wraz z każdą kolejną godziną aktywności online.

5.2 Hipoteza 2: Płeć a poziom uzależnienia

Pytanie badawcze: Czy płeć różnicuje poziom uzależnienia od mediów społecznościowych?

Hipotezy:

H_0: Nie ma istotnych różnic w poziomie uzależnienia między kobietami a mężczyznami.

H_1: Występują istotne różnice w poziomie uzależnienia między kobietami a mężczyznami.

Zastosowano test U Manna-Whitneya (Wilcoxona dla dwóch prób niezależnych).

test_h2 <- wilcox.test(Wynik_uzaleznienia ~ f.Plec, data = dane_clean)

mediany <- dane_clean %>%
  group_by(f.Plec) %>%
  summarise(Mediana = median(Wynik_uzaleznienia),
            N = n())

tibble(
  Grupa = mediany$f.Plec,
  Mediana = mediany$Mediana,
  N = mediany$N
) %>%
  kbl(caption = "Mediany poziomu uzależnienia według płci") %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover", "condensed")) %>%
  row_spec(0, bold = TRUE, font_size = 12)
Mediany poziomu uzależnienia według płci
Grupa Mediana N
Female 7 353
Male 7 352
tibble(
  Statystyka = c("Statystyka W", "Wartość p"),
  Wartość = c(test_h2$statistic, format.pval(test_h2$p.value, digits = 3))
) %>%
  kbl(caption = "Wyniki testu U Manna-Whitneya") %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover", "condensed")) %>%
  row_spec(0, bold = TRUE, font_size = 12)
Wyniki testu U Manna-Whitneya
Statystyka Wartość
Statystyka W 66322.5
Wartość p 0.113
ggplot(dane_clean, aes(x = f.Plec, y = Wynik_uzaleznienia, fill = f.Plec)) +
  geom_violin(trim = FALSE, alpha = 0.6) +
  geom_boxplot(width = 0.1, fill = "white") +
  labs(
    title = "Porównanie poziomu uzależnienia według płci",
    x = "Płeć",
    y = "Wynik uzależnienia"
  ) +
  scale_fill_brewer(palette = "Set2") +
  theme_minimal() +
  theme(legend.position = "none")

Wnioski Wartość p jest wyższa niż próg 0,05, oznacza to, że mamy brak podstaw do odrzucenia hipotezy zerowej. Różnica w poziomie uzależnienia między kobietami a mężczyznami nie jest istotna statystycznie. Wynik ten pokazuje, że płeć nie jest czynnikiem różnicującym skłonność do uzależnienia od mediów społecznościowych. Wykres skrzypcowy ilustruje zbliżony kształt rozkładów dla obu płci, z największą gęstością obserwacji koncentrującą się symetrycznie wokół tych samych, wysokich wartości.

5.3 Hipoteza 3: Płeć a wybór platformy

Pytanie badawcze: Czy istnieje zależność między płcią a preferowaną platformą społecznościową?

Hipotezy:

H_0: Płeć i wybór platformy są niezależne.

H_1: Istnieje zależność między płcią a wyborem głównej platformy.

Zastosowano test niezależności Chi-kwadrat (\(\chi^2\)).

tabela_kontyngencji <- table(dane_clean$f.Plec, dane_clean$f.Platforma)
test_h3 <- chisq.test(tabela_kontyngencji)

tibble(
  Statystyka = c("Chi-kwadrat", "df", "Wartość p"),
  Wartość = c(round(test_h3$statistic, 2), 
              test_h3$parameter,
              format.pval(test_h3$p.value, digits = 3))
) %>%
  kbl(caption = "Wyniki testu niezależności Chi-kwadrat") %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover", "condensed")) %>%
  row_spec(0, bold = TRUE, font_size = 12)
Wyniki testu niezależności Chi-kwadrat
Statystyka Wartość
Chi-kwadrat 154.33
df 11
Wartość p <2e-16
dane_clean %>%
  droplevels() %>%
  ggplot(aes(x = f.Platforma, fill = f.Plec)) +
  geom_bar(position = "dodge", color = "black", alpha = 0.8) +
  labs(
    title = "Wybór platformy społecznościowej według płci",
    x = "Platforma",
    y = "Liczba użytkowników",
    fill = "Płeć"
  ) +
  scale_fill_brewer(palette = "Set1") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Wnioski Wartość p jest niższa od progu 0,05, co pozwala na odrzucenie hipotezy zerowej na rzecz hipotezy alternatywnej – istnieje zależność między płcią a wyborem platformy. Wykres słupkowy pokazuje wyraźne różnice w preferencjach platform między kobietami a mężczyznami. Kobiety dominują na Instagramie i TikTok (chociaż tutaj różnica nie jest duża), podczas gdy mężczyźni przeważają zdecydowanie na platformach takich jak Facebook, WhatsApp i YouTube.

5.4 Hipoteza 4: Poziom edukacji a uzależnienie

Pytanie badawcze: Czy występują różnice w poziomie uzależnienia pomiędzy studentami na różnych etapach edukacji?

Hipotezy:

H_0: Rozkłady poziomu uzależnienia są takie same we wszystkich grupach edukacyjnych.

H_1: Przynajmniej jedna grupa różni się poziomem uzależnienia od pozostałych.

Zastosowano test Kruskala-Wallisa (nieparametryczny odpowiednik ANOVA).

test_h4 <- kruskal.test(Wynik_uzaleznienia ~ Poziom_akademicki, data = dane_clean)

mediany_edukacja <- dane_clean %>%
  group_by(Poziom_akademicki) %>%
  summarise(Mediana = median(Wynik_uzaleznienia),
            N = n())

mediany_edukacja %>%
  kbl(caption = "Mediany poziomu uzależnienia według poziomu akademickiego",
      col.names = c("Poziom akademicki", "Mediana", "N")) %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover", "condensed")) %>%
  row_spec(0, bold = TRUE, font_size = 12)
Mediany poziomu uzależnienia według poziomu akademickiego
Poziom akademicki Mediana N
Graduate 7 325
High School 8 27
Undergraduate 7 353
tibble(
  Statystyka = c("Chi-kwadrat", "df", "Wartość p"),
  Wartość = c(round(test_h4$statistic, 2),
              test_h4$parameter,
              format.pval(test_h4$p.value, digits = 3))
) %>%
  kbl(caption = "Wyniki testu Kruskala-Wallisa") %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover", "condensed")) %>%
  row_spec(0, bold = TRUE, font_size = 12)
Wyniki testu Kruskala-Wallisa
Statystyka Wartość
Chi-kwadrat 39.1
df 2
Wartość p 3.23e-09
if(test_h4$p.value < 0.05) {
  posthoc_h4 <- dunnTest(Wynik_uzaleznienia ~ Poziom_akademicki, 
                         data = dane_clean, method = "bonferroni")
  posthoc_h4$res %>%
    kbl(caption = "Testy post-hoc (Dunn) z korektą Bonferroniego", digits = 3) %>%
    kable_styling(full_width = F, bootstrap_options = c("striped", "hover", "condensed")) %>%
    row_spec(0, bold = TRUE, font_size = 12)
}
Testy post-hoc (Dunn) z korektą Bonferroniego
Comparison Z P.unadj P.adj
Graduate - High School -6.183 0.000 0.000
Graduate - Undergraduate -2.155 0.031 0.094
High School - Undergraduate 5.372 0.000 0.000
ggplot(dane_clean, aes(x = Wynik_uzaleznienia, fill = Poziom_akademicki)) +
  geom_density(alpha = 0.4) +
  labs(
    title = "Rozkład poziomu uzależnienia według poziomu akademickiego",
    x = "Wynik uzależnienia",
    y = "Gęstość",
    fill = "Poziom akademicki"
  ) +
  scale_fill_brewer(palette = "Set2") +
  theme_minimal()

Wnioski Test Kruskala-Wallisa (p < 0.05) wykazał istotne różnice w poziomie uzależnienia pomiędzy studentami na różnych etapach edukacji. Testy post-hoc potwierdziły, że studenci na etapie High School wykazują statystycznie wyższą medianę uzależnienia niż studenci na poziomie Graduate. Wykres gęstości uwidacznia przesunięcie rozkładu dla uczniów szkół średnich w prawą stronę, co sygnalizuje większą koncentrację skrajnych wyników uzależnienia w tej grupie w porównaniu do osób, które ukończyły studia.

5.5 Hipoteza 5: Deficyt snu a czas online

Pytanie badawcze: Czy istnieje związek między czasem spędzanym w mediach społecznościowych a liczbą godzin snu?

Hipotezy:

H_0: Nie ma istotnej korelacji między czasem online a liczbą godzin snu.

H_1: Istnieje istotna korelacja między czasem spędzanym online a czasem snu.

Zastosowano współczynnik korelacji rang Spearmana.

test_h5 <- cor.test(dane_clean$Sredni_Czas_Użytkowania,
                    dane_clean$Godziny_snu,
                    method = "spearman")

tibble(
  Statystyka = c("Rho Spearmana", "Wartość p", "N"),
  Wartość = c(round(test_h5$estimate, 3),
              format.pval(test_h5$p.value, digits = 3),
              nrow(dane_clean))
) %>%
  kbl(caption = "Wyniki testu korelacji rang Spearmana") %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover", "condensed")) %>%
  row_spec(0, bold = TRUE, font_size = 12)
Wyniki testu korelacji rang Spearmana
Statystyka Wartość
Rho Spearmana -0.814
Wartość p <2e-16
N 705
dane_clean %>%
  mutate(przedzial_czasu = cut_width(Sredni_Czas_Użytkowania, width = 1.5, boundary = 0)) %>%
  group_by(przedzial_czasu) %>%
  summarise(sredni_sen = mean(Godziny_snu, na.rm = TRUE)) %>%
  ggplot(aes(x = przedzial_czasu, y = sredni_sen)) +
  geom_col(fill = "steelblue") +
  geom_text(aes(label = round(sredni_sen, 1)), vjust = -0.5, size = 3) +
  labs(
    title = "Średnia długość snu w zależności od przedziału czasu użytkowania mediów",
    x = "Przedział czasu użytkowania (h/dzień)",
    y = "Średnia długość snu (godziny)"
  ) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Wnioski Wartość p jest znacznie poniżej progu 0,05, co pozwala na odrzucenie hipotezy zerowej. Związek między czasem spędzonym w mediach społecznościowych a długością snu jest statystycznie istotny (Rho = -0,814). Wykres słupkowy średnich obrazuje schodkowy efekt tej relacji, gdzie przeciętna długość snu systematycznie maleje w kolejnych, coraz wyższych przedziałach czasowych użytkowania mediów.

5.6 Hipoteza 6: Uzależnienie a wpływ na wyniki w nauce według wieku

Pytanie badawcze: Czy osoby deklarujące negatywny wpływ mediów społecznościowych na wyniki w nauce mają wyższy poziom uzależnienia? Które grupy wiekowe są najbardziej zagrożone?

Hipotezy:

H_0: Poziom uzależnienia nie różni się między osobami deklarującymi i niedeklarującymi wpływu mediów na wyniki w nauce.

H_1: Osoby deklarujące wpływ mediów na wyniki w nauce mają istotnie wyższy poziom uzależnienia.

Zastosowano test U Manna-Whitneya oraz dodatkową analizę według grup wiekowych.

test_h6 <- wilcox.test(Wynik_uzaleznienia ~ f.Wplyw_na_wyniki, data = dane_clean)

mediany_wplyw <- dane_clean %>%
  group_by(f.Wplyw_na_wyniki) %>%
  summarise(Mediana = median(Wynik_uzaleznienia),
            Srednia = mean(Wynik_uzaleznienia),
            N = n())

mediany_wplyw %>%
  kbl(caption = "Poziom uzależnienia według deklarowanego wpływu na wyniki w nauce",
      col.names = c("Wpływ na wyniki", "Mediana", "Średnia", "N"),
      digits = 2) %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover", "condensed")) %>%
  row_spec(0, bold = TRUE, font_size = 12)
Poziom uzależnienia według deklarowanego wpływu na wyniki w nauce
Wpływ na wyniki Mediana Średnia N
No 5 4.60 252
Yes 7 7.46 453
tibble(
  Statystyka = c("Statystyka W", "Wartość p"),
  Wartość = c(test_h6$statistic, format.pval(test_h6$p.value, digits = 3))
) %>%
  kbl(caption = "Wyniki testu U Manna-Whitneya") %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover", "condensed")) %>%
  row_spec(0, bold = TRUE, font_size = 12)
Wyniki testu U Manna-Whitneya
Statystyka Wartość
Statystyka W 360
Wartość p <2e-16
dane_clean <- dane_clean %>%
  mutate(Grupa_wiekowa = case_when(
    Wiek <= 20 ~ "18-20 lat",
    Wiek <= 23 ~ "21-23 lata",
    TRUE ~ "24+ lat"
  ))

ggplot(dane_clean, aes(x = Wynik_uzaleznienia, fill = f.Wplyw_na_wyniki)) +
  geom_density(alpha = 0.5) +
  facet_wrap(~ Grupa_wiekowa) +
  labs(
    title = "Rozkład poziomu uzależnienia a wpływ na naukę (wg wieku)",
    x = "Wynik uzależnienia",
    y = "Gęstość",
    fill = "Wpływ na naukę"
  ) +
  scale_fill_brewer(palette = "Set1") +
  theme_minimal()

tabela_wiek_wplyw <- dane_clean %>%
  group_by(Grupa_wiekowa, f.Wplyw_na_wyniki) %>%
  summarise(N = n(), .groups = "drop") %>%
  group_by(Grupa_wiekowa) %>%
  mutate(Procent = round(N / sum(N) * 100, 1)) %>%
  filter(f.Wplyw_na_wyniki == "Yes") %>%
  select(Grupa_wiekowa, N, Procent)

tabela_wiek_wplyw <- dane_clean %>%
  group_by(Grupa_wiekowa, f.Wplyw_na_wyniki) %>%
  summarise(N = n(), .groups = "drop") %>%
  group_by(Grupa_wiekowa) %>%
  mutate(Procent = round(N / sum(N) * 100, 1)) %>%
  filter(f.Wplyw_na_wyniki == "Yes") %>%
  select(Grupa_wiekowa, N, Procent)

tabela_wiek_wplyw %>%
  kbl(caption = "Odsetek osób deklarujących negatywny wpływ mediów na naukę według wieku",
      col.names = c("Grupa wiekowa", "Liczba osób (Yes)", "Procent grupy (%)")) %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover", "condensed")) %>%
  row_spec(0, bold = TRUE, font_size = 12)
Odsetek osób deklarujących negatywny wpływ mediów na naukę według wieku
Grupa wiekowa Liczba osób (Yes) Procent grupy (%)
18-20 lat 234 68.4
21-23 lata 205 60.8
24+ lat 14 53.8
dane_clean %>%
  filter(f.Wplyw_na_wyniki == "Yes") %>%
  group_by(Grupa_wiekowa) %>%
  summarise(
    Srednie_uzaleznienie = mean(Wynik_uzaleznienia),
    Mediana = median(Wynik_uzaleznienia),
    N = n()
  ) %>%
  kbl(caption = "Poziom uzależnienia wśród osób deklarujących wpływ na naukę - według wieku",
      col.names = c("Grupa wiekowa", "Średnia", "Mediana", "N"),
      digits = 2) %>%
  kable_styling(full_width = F, bootstrap_options = c("striped", "hover", "condensed")) %>%
  row_spec(0, bold = TRUE, font_size = 12)
Poziom uzależnienia wśród osób deklarujących wpływ na naukę - według wieku
Grupa wiekowa Średnia Mediana N
18-20 lat 7.58 8.0 234
21-23 lata 7.31 7.0 205
24+ lat 7.64 7.5 14

Wnioski Istnieje statystycznie istotna różnica poziomu uzależnienia między osobami, które deklarują negatywny wpływ mediów społecznościowych na naukę, a tymi, które go nie zauważają (p < 0.05). Najbardziej narażoną grupą są najmłodsi studenci. Wykres interakcji uwypukla fakt, że linia dla najmłodszej grupy wiekowej (18-20 lat) utrzymuje się najwyżej, wskazując na najwyższe średnie poziomy uzależnienia niezależnie od deklarowanego wpływu.

6 6. Podsumowanie i Wnioski

Niniejsza analiza, przeprowadzona na próbie 705 osób, miała na celu zbadanie relacji między aktywnością w mediach społecznościowych a dobrostanem psychicznym, snem oraz funkcjonowaniem akademickim studentów. Proces badawczy obejmował przygotowanie danych, analizę opisową oraz wnioskowanie statystyczne, co pozwoliło na empiryczną weryfikację postawionych hipotez. Już na etapie wstępnej obróbki danych potwierdzono ich wysoką jakość – brak braków danych oraz logiczna spójność odpowiedzi świadczyły o wiarygodności materiału empirycznego. Utworzenie zmiennych pochodnych, takich jak kategorie czasu użytkowania czy deficyt snu, umożliwiło pogłębioną analizę wzorców zachowań i stanowiło solidną podstawę dalszych prac.

Część opisowa badania ujawniła istotne cechy badanej populacji. Czas korzystania z mediów społecznościowych charakteryzował się prawostronną asymetrią, z maksimum około 5 godzin dziennie, przy czym niemal 30% respondentów przekraczało ten próg, co pozwala zakwalifikować ich do grupy podwyższonego ryzyka. Zaobserwowano również wyraźne różnice płciowe w preferencjach platform – kobiety częściej korzystały z mediów o charakterze wizualnym (Instagram, TikTok), natomiast mężczyźni częściej wybierali Facebooka i YouTube. Analiza korelacji wskazała na szczególnie silne związki między czasem użytkowania a zdrowiem psychicznym oraz między konfliktami społecznymi a poziomem uzależnienia. Interesującym wynikiem było także stopniowe obniżanie się zarówno czasu spędzanego online, jak i poziomu uzależnienia wraz z kolejnymi etapami edukacji, co może odzwierciedlać rosnącą dojrzałość cyfrową.

Kluczową częścią projektu było wnioskowanie statystyczne, oparte na testach nieparametrycznych ze względu na brak normalności rozkładów. Pierwsza hipoteza potwierdziła bardzo silną ujemną korelację rang Spearmana (ρ = −0,802, p < 0,001) między czasem korzystania z mediów społecznościowych a oceną zdrowia psychicznego – im dłuższe użytkowanie, tym niższy deklarowany dobrostan. Podobnie silny związek zaobserwowano między intensywnością korzystania z platform a deficytem snu (ρ = −0,814, p < 0,001), co wskazuje, że zwiększony czas online systematycznie skraca czas nocnej regeneracji.

Test U Manna–Whitneya nie wykazał istotnych różnic w poziomie uzależnienia między płciami, mimo odmiennych preferencji platformowych. Oznacza to, że samo uzależnienie nie jest zjawiskiem zależnym od płci, choć sposób korzystania z mediów może mieć charakter kulturowo zróżnicowany. Jednocześnie test Chi-kwadrat potwierdził istotną zależność między płcią a wyborem platformy, co spójnie uzupełnia wyniki analizy wstępnej.

Analiza różnic między poziomami edukacji (test Kruskala–Wallisa) wykazała istotny spadek poziomu uzależnienia wraz z kolejnymi etapami studiów. Testy post-hoc potwierdziły, że każdy wyższy poziom edukacyjny wiąże się z niższą medianą uzależnienia, co można interpretować jako efekt lepszego zarządzania czasem i rosnącej świadomości wymagań akademickich. Nie można jednak wykluczyć również efektu selekcji, polegającego na rezygnacji z dalszej edukacji przez osoby z najbardziej problematycznymi wzorcami użytkowania.

Szczególnie istotne były wyniki dotyczące funkcjonowania akademickiego. Studenci deklarujący negatywny wpływ mediów społecznościowych na naukę charakteryzowali się istotnie wyższym poziomem uzależnienia (p < 0,001), przy czym grupą najbardziej narażoną okazali się najmłodsi respondenci (18–20 lat). W tej grupie wiekowej blisko dwie trzecie badanych wskazywało na negatywny wpływ aktywności online na wyniki w nauce, co stanowi wyraźny sygnał ostrzegawczy dla szkolnictwa wyższego.

Podsumowując, badanie dostarcza spójnych dowodów na to, że intensywne korzystanie z mediów społecznościowych współwystępuje z obniżonym dobrostanem psychicznym, deficytem snu oraz gorszym funkcjonowaniem akademickim, szczególnie wśród najmłodszych studentów. Wyniki te wskazują na zasadność wdrażania na uczelniach programów wspierających rozwój świadomych nawyków cyfrowych, takich jak warsztaty z higieny cyfrowej, zarządzania czasem oraz psychoedukacji. W kontekście Politechniki Gdańskiej może to stanowić ważny element działań wspierających studentów w pełnym wykorzystaniu ich potencjału akademickiego bez szkody dla zdrowia i dobrostanu.